linux 网站架设调优Apache(四)
十、开启防盗链一些小网站为了盈利,通过盗链来实现对自己网站内容的丰富,这无疑加大了企业的空间和流量的成本,因此我们需要对apache进行防盗链的配置。
由于我们要用到mod_rewrite模块,因此我们需要先检测该模块是否安装,检测和安装方法与上面mod_deflate和mod_expires的一样,这里不多讲了。
防盗链配置:
一般我们都是将防盗链的配置,配置在虚拟主机里面,配置如下:
ServerAdmin 274546888@qq.com
DocumentRoot "/www/html"
ServerName www.sunsky.pw
ServerAlias sunsky.pw
CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://sunsky.pw/.*$
RewriteCond %{HTTP_REFERER} !^http://sunsky.pw$
RewriteCond %{HTTP_REFERER} !^http://www.sunsky.pw/.*$
RewriteCond %{HTTP_REFERER} !^http://www.sunsky.pw$
RewriteRule .*\.(gif|jpg|swf)$ http://www.sunsky.pw
如上配置之后,我们重启apache服务即可生效。
十一、禁止目录浏览
由于开启目录浏览会让我们整个目录下的内容全部都暴露到外面,因此我们必须要禁止目录浏览功能。当然一些目录开放给客户做下载的,可以忽略此项优化。我的http://down.sunsky.pw就是范例。
我们通过修改apache主配置文件httpd.conf中的标签内的Options选项参数来实现禁用目录浏览。
实现方法有三种:
第一种:
AllowOverride None
Options FollowSymLinks #不填写Indexes项,默认即为关闭。
Require all granted
第二种:
AllowOverride None
Options -Indexes #通过在Indexes前面加-来禁用此功能
Require all granted
第三种:
AllowOverride None
Options None #禁用所有选项
Require all granted
十二、禁用AllowOverride选项,关闭.htaccess文件使用
首先是性能考虑,如果AllowOverride启用了.htaccess文件,则apache需要在每个目录中查找.htaccess文件。因此,无论是否真正用到,启用.htaccess都会导致服务器性能的下降。另外,对于每一个请求,都需要读取一次.htaccess文件。
其次是安全考虑,这样会允许用户自己修改服务器的配置,这可能会导致某些意想不到的修改,所以请认真考虑是否应当给予用户这样的特权。
1、禁用AllowOverride选项
我们通过修改apache主配置文件httpd.conf中的标签内的AllowOverride选项参数来实现禁用目录浏览。
页:
[1]