2018-6-11
12.13 Nginx防盗链
12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理 12.13 Nginx防盗链 与日志记录和日期时间结合在一起 location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ //匹配*,后面正则不区分大小写 { ? ? expires 7d; ? ? valid_referers none blocked server_names? *.test.com ; ? ? if ($invalid_referer) { ? ? ? ? return 403; ? ? } ? ? access_log off; } 不匹配403 12.14 Nginx访问控制 对于一些种要的内容,做一个白名单,只允许指定的IP能够访问 访问/admin/目录的请求,只允许某几个IP访问,配置: location /admin/ { ? ? allow 192.168.133.1; ? ? allow 127.0.0.1; ? ? deny all;? //这三行 匹配到一行就不会继续往下匹配,所以deny要放最后 } -t && -s reload 只有192.168.226.131或者127.0.0.1可以访问,测试过后为200 ,其他的为403 加上这一段 匹配正则 禁止解析php,针对正则做一些访问限制 根绝user_agent进行限制“ if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato') { ? ? ? return 403; } deny all和return 403的效果一样 12.15 Nginx解析php相关配置 把配置放到配置文件里 location ~ .php$ ? ? { ? ? ? ? include fastcgi_params; ? ? ? ? fastcgi_pass unix:/tmp/php-fcgi.sock; //?fastcgi_pass?用来指定php-fpm监听的地址或者socke ? ? ? ? fastcgi_index index.php; ? ? ? ? fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name; ? ? } 还没有加载配置文件 创建一个php测试 一开始不会解析,加载配置文件后就可以正常解析了 也可以监听端口,改成fastcgi_pass 127.0.0.1:9000; ?出现502的时候需要确定pass的地址是否对应了 12.16 Nginx代理 用户本来要访问web服务器,通过代理服务器访问私网。 还比如需要访问美国的服务器,太远,可以访问香港的服务器,通过代理。 cd /usr/local/nginx/conf/vhost vim proxy.conf? 加入这些内容 server { ? ? listen 80; ? ? server_name ask.apelearn.com;? ?//定义域名 ? ? location / ? ? { ? ? ? ? proxy_pass? ? ? http://121.201.9.155/;? ? //通过这个IP可以访问到上面的域名 ? ? ? ? proxy_set_header Host? ?$host;?? ? ? ? ? proxy_set_header X-Real-IP? ? ? $remote_addr;? //指定ip ? ? ? ? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ? ? } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |