不信网恋 发表于 2018-11-20 08:19:44

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]
查看完整版本: linux 网站架设调优Apache(四)