Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理

一、Nginx防盗链
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#vi /usr/local/nginx/conf/vhost/test.com.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#/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访问控制
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#vi /usr/local/nginx/conf/vhost/test.com.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#/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正常
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
匹配正则
#vi /usr/local/nginx/conf/vhost/test.com.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#/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
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#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相关配置
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#vi /usr/local/nginx/conf/vhost/test.com.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#/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 //查看错误日志
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
如果/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错误
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#vi /usr/local/php-fpm/etc/php-fpm.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
四、 Nginx代理
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#cd /usr/local/nginx/conf/vhost/
#vi proxy.conf
Nginx防盗链 Nginx访问控制 Nginx解析php相关配置 Nginx代理
#/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也可以访问

猜你喜欢

转载自blog.51cto.com/13669226/2128277