1. 程式人生 > >Nginx防盜鏈 Nginx訪問控制 Nginx解析php相關配置 Nginx代理

Nginx防盜鏈 Nginx訪問控制 Nginx解析php相關配置 Nginx代理

nginx配置

一、Nginx防盜鏈
技術分享圖片
#vi /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl -e "http://www.baidu.com/1.txt "-x127.0.0.1:80 -I test.com/1.gif //提示403
#curl -e "http://www.test.com/1.txt "-x127.0.0.1:80 -I test.com/1.gif //提示200
二、Nginx訪問控制
技術分享圖片
#vi /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl -e "http://www.baidu.com/1.txt "-x127.0.0.1:80 -I test.com/admin //訪問127.0.0..1正常
技術分享圖片
匹配正則
#vi /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#mkdir /data/wwwroot/test.com/upload //創建upload
#echo "1111" > /data/wwwroot/test.com/upload/1.php
#curl -x127.0.0.1:80 test.com/upload/1.php
根據user_agent限制
#vi /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#curl -A"Tomatoafdkdjk" -x127.0.0.1:80 test.com/upload/1.txt -I
如果要忽略大小寫,可以在~匹配符號後面加一個
if ($http_user_agent ~
‘Spider/3.0|YoudaoBot|Tomato‘)
{
return 403;
}
三、Nginx解析php相關配置
技術分享圖片
#vi /usr/local/nginx/conf/vhost/test.com.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
如果配置文件中fastcgi_pass unix:/tmp/php-fcgi.sock;這個路徑不對,會提示502錯誤,遇到502報錯先看下錯誤日誌,再去看下是不是配置文件的fastcgi_pass unix:/tmp/php-fcgi.sock;這個路徑是否正確,如果不正確,需要查看/usr/local/php-fpm/etc/php-fpm.conf這個配置文件中的sock路徑
#tail /usr/local/nginx/logs/nginx_error.log //查看錯誤日誌
技術分享圖片
如果/usr/local/php-fpm/etc/php-fpm.conf文件定義的
listen = 127.0.0.1:9000
那麽 /usr/local/nginx/conf/vhost/test.com.conf這個配置文件中的fastcgi_pass unix:/tmp/php-fcgi.sock;需要修改為fastcgi_pass 127.0.0.1:9000;
總結出現502錯誤解決思路:
首先檢查nginx的配置/usr/local/nginx/conf/vhost/test.com.conf和PHP的配置/usr/local/php-fpm/etc/php-fpm.conf兩個文件中配置的路徑要對應,一個配置的是sock路徑,另一個也要配置為一樣的sock路徑;如一個配置的是127.0.0.:9000,則另一個也同樣配置為127.0.0.1:9000
還需要註意/usr/local/nginx/conf/vhost/test.com.conf配置文件中,
fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;的這個路徑對應
的是配置文件中的 root /data/wwwroot/test.com;這個路徑
502問題也可能是php-fpm資源耗盡導致進程卡死,也會報502錯誤
技術分享圖片
#vi /usr/local/php-fpm/etc/php-fpm.conf
技術分享圖片
四、 Nginx代理
技術分享圖片
#cd /usr/local/nginx/conf/vhost/
#vi proxy.conf
技術分享圖片
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl ask.apelearn.com/robots.txt //robots.txt 是針對蜘蛛索引的一個列表
#curl -x127.0.0.1:80 ask.apelearn.com/robots.txt //指定127.0.0.1也可以訪問

Nginx防盜鏈 Nginx訪問控制 Nginx解析php相關配置 Nginx代理