Linux服务器下Nginx的安全配置(2)

server {
    #监听端口,nginx 会根据请求的 HOST 来决定使用哪个 SERVER 段的配置。如果没有匹配的 server_name,则默认使用配置文件中第一个。加上 default_server 则可以以指定没有匹配时的默认规则。
    #listen 80;
    listen 80 default_server;
 
    #域名可以有多个,用空格隔开
    server_name test.com;
    root /user/share/nginx/html/test;
 
    #404页面配置
    error_page  404  /404.html;
 
    #配置 ssl,有需要时开启。
    ssl on;
    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
 
    location / {
        index  index.html index.php;
    }
 
    #图片缓存时间设置
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
        expires 10d;
    }
 
    #JS和CSS缓存时间设置
    location ~ .*.(js|css)?$ {
        expires 1h;
    }
 
    location ~ [^/]\.php(/|$) {
        fastcgi_index  index.php;
        #开启 PATH_INFO 支持,作用就是把参数按照给定的正则表达式分割成 $fastcgi_script_name 和 $fastcgi_path_info。
        #例如:请求 index.php/id/1 不加此行配置时,fastcgi_script_name 是 /index.php/id/1,fastcgi_path_info 是空。
        #加上之后,fastcgi_script_name 是 index.php,fastcgi_path_info 是 /id/1
        fastcgi_split_path_info ^(.+\.php)(.*)$;
 
        #此值即是 PHP 中 $_SERVER['SCRIPT_FILENAME'] 的值
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO              $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info;
 
        #指定FastCGI服务器监听端口与地址。须和 PHP-FPM 的设置相同。
        #fastcgi_pass  127.0.0.1:9000;
        fastcgi_pass    unix:/var/run/php5-fpm.sock;
        include fastcgi_params;
    }
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cfc577495a52b4a0319c11189f408a5a.html