zoukankan      html  css  js  c++  java
  • apache 各种配置

    //apache 的网站配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf
    
    -->在编辑这个文件前需要去httpd.conf把这个文件的注释去掉
    
    <VirtualHost *:80>
        DocumentRoot "/data/www"
        ServerName www.123.com
    
        #不记录指定文件的日志 --还要加上env
        SetEnvIf Request_URI ".*.gif$" image-request
        SetEnvIf Request_URI ".*.jpg$" image-request
        SetEnvIf Request_URI ".*.png$" image-request
        SetEnvIf Request_URI ".*.bmp$" image-request
        SetEnvIf Request_URI ".*.swf$" image-request
        SetEnvIf Request_URI ".*.js$" image-request
        SetEnvIf Request_URI ".*.css$" image-request
    
    #日志设置
    ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-error_%Y%m%d.log 86400"
    CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/aaa-access_%Y%m%d.log 86400"combined env=!image-request
    
    #301跳转
    <IfModule mod_rewrite.c>
         RewriteEngine on
         #进入下列网站     
         RewriteCond %{HTTP_HOST} ^www.tiaozhuan.com [OR]
         RewriteCond %{HTTP_HOST} ^www.test.com$
         #都跳转到www.123.com
         RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L]
    
    #禁止user_agent NC为不区分大小写 OR代表二者取一 全部都取就不要OR Rule为规则-F所有访问拒绝
         RewriteCond %(HTTP_USER_AGENT} ^Mozilla/5.* [NC]
         RewriteCond %(HTTP_USER_AGENT} ^.*chrome* [NC]
         RewriteRule .* - [F]
    
    #限制某一个目录不让用户访问,也可利用deny和allow进行限制     
         RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC]
         RewriteRule .* - [F]
    </IfModule>
    
    #静态缓存
    #1.mod_expires.c
     <IfModule mod_expires.c>
        ExpiresActive on
        ExpiresByType image/gif "access plus 1 days"
        ExpiresByType image/jpeg "access plus 24 hours"
        ExpiresByType image/png "access plus 24 hours"
        ExpiresByType text/css "now plus 2 hours"
        ExpiresByType application/x-javacript "now plus 2 hours"
        ExpiresByType application/javascript "now plus 2 hours"
        ExpiresByType application/x-shockwave-flash "now plus 2 hours"
        ExpiresDefault "now plus 2 hours"
        </IfModule>
    
    #访问控制
    <Directory /data/www/>
       Order deny,allow
       Deny from all
       Allow from 127.0.0.1
    </Directory>
    
    #针对请求的URI限制
    #<filesmatch "(.*)admin(.*)">
    #   Order deny,allow
    #      Deny from all
    #         Allow from 127.0.0.1
    #         </filesmatch>
    
    #全部PASS
    #<Directory>
    #Order deny,allow
    
    #全部NOT PASS
    #<Directory>
    #Order allow,deny
    
    #针对网站的用户上传的文件进行限制php解析
    <Directory /data/www/data>
            php_admin_flag engine off
            <filesmatch "(.*)php">
            Order deny,allow
            Deny from all
            Allow from 127.0.0.1
            </filesmatch>
    </Directory>
    
    #防盗链
    SetEnvIfNoCase Referer "^htt://.*aidu.com" local_ref
        SetEnvIfNoCase Referer "^htt://.*sohu.com" local_ref
        SetEnvIfNoCase Referer "^$"" local_ref
     <filesmatch ".(txt|doc|mp3|zip|rar|jpg|gif|png)">
        Order Allow,Deny
        Allow from env=local_ref
    </filesmatch>
    </VirtualHost>
    
    #2.mod_headers
    #<IfModule mod_headers.c>
        #htm,html,txt类的文件缓存 存放一个小时
        #   <filematch ".(htmlhtm|txt)$">
        #header set cache-control "max-age=3600"
        # </filematch>

    写配置文件会遇到的错误 :

    1.

    /usr/local/apache2/bin/apachectl -t
    Syntax error on line 34 of /usr/local/apache2/conf/extra/httpd-vhosts.conf:
    AuthUserFile takes 1-2 arguments, text file containing user IDs and passwords

    1.因为 多出了 AllowOverride AuthConfig 

    2. 34行有中文注释,将其删除即可

    ==================我是分割线。===============

    配置后的测试 :

    //用户认证的测试 
    
    对某一个网页进行 用户认证 的设置 
    
    /data/.htpasswd 是存放网页用户名和密码的文件 
    
    需要用htpasswd -c 选项进行首次创建文件

    [root@localhost ~]# htpasswd -mbc .htpasswd Neo 111111

    //创建用户名为Neo,密码为111111的帐户
    然后 apachectl
    -t apachectl graceful 然后去浏览器访问被限定的文件夹 ====================== //默认主机 --如果不配置 ,只要在电脑的hosts配置了另外的域名 也可以访问到指定的ip 添加了默认主机 就可以进行限制 只有我们配置的域名才可访问到本服务器的ip 测试: 先在 hosts 服务器的ip里 配置多一个不属于我们配置文件里的域名 如 www.aaa.com 然后在浏览器里 访问域名 www.aaa.com 可以跳转到我们的网站 然后我们配置虚拟主机 再去访问 www.aaa.com 就已经不行了 --则配置完成 ======================= //域名跳转 配置好后 用浏览器直接访问配置的域名 测试 或者用curl来进行测试 curl -x+本机ip+port +域名 -I ====================== //日志切割 对网站进行刷新 根据配置日志的路径 然后从centos看文件夹里是不是出现了日志 ====================== //不记录指定文件的日志 先对已存在的日志 进行清空 然后刷新网页 再去查看日志 是不是还存在那些指定文件的日志 ======================= //静态缓存 配置好后 到浏览器中 对某个已经配置的文件右键 或F12 查看文件的路径 然后在Linux中用curl 来访问 例如 curl -x127.0.0.1:80 'http://www.test.com/static/image/common/logo.png' -I 从cache-control这一栏就可以知道 ,是否已经配置好 是否与我们配置的时间一致 ====================== //防盗链 配置好后, 再去以白名单 和黑名单的身份去访问被限制的文件类型 看是否白名单显示 黑名单则不可以显示
  • 相关阅读:
    vim复制
    嵌入式Linux学习(二)
    (Java实现) 洛谷 P1042 乒乓球
    (Java实现) 洛谷 P1042 乒乓球
    (Java实现) 洛谷 P1071 潜伏者
    (Java实现) 洛谷 P1071 潜伏者
    (Java实现) 洛谷 P1025 数的划分
    (Java实现)洛谷 P1093 奖学金
    (Java实现)洛谷 P1093 奖学金
    Java实现 洛谷 P1064 金明的预算方案
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/5374229.html
Copyright © 2011-2022 走看看