博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
阅读量:6608 次
发布时间:2019-06-24

本文共 2301 字,大约阅读时间需要 7 分钟。

hot3.png

Nginx防盗链

 

思路和httpd的一样,由于和过期时间,不记录日志有部分重合,可以把两部分结合在一起,配置如下:

vim /usr/local/nginx/conf/vhost/.conf

location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$

{

    expires 7d;

    valid_referers none blocked server_names  * ;

    if ($invalid_referer) {

        return 403;

    }

    access_log off;

}

测试过程如下:

/usr/local/nginx/sbin/nginx -t    //检测是否有错误

/usr/local/nginx/sbin/nginx -s reload   //重新加载

curl -x127.0.0.1:80 -I -e "http://aaa.com/1.txt" 1.gif   //403

curl -x127.0.0.1:80 -I -e "   //200

 

 Nginx访问控制

需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下:

vim /usr/local/nginx/conf/vhost/.conf

location /admin/

{

    allow 192.168.174.128;

    allow 127.0.0.1;

    deny all;

}

 

mkdir /data/wwwroot/

echo “test,test”>/data/wwwroot/

-t && -s reload

curl -x127.0.0.1:80 -I

curl -x192.168.174.128:80 -I

可以匹配正则

 

location ~ .*(upload|image)/.*\.php$

{

        deny all;

}

根据user_agent限制

if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')

{

      return 403;

}

deny all和return 403效果一样

 

 mkdir /data/wwwroot/upload

echo “test,test”>/data/wwwroot/upload/1.php

 curl -x127.0.0.1:80 php -I

 

echo “11111txt11111txt1111txt”>/data/wwwroot/upload/1.txt

curl -x127.0.0.1:80 txt -I

225957_C8nD_3716831.png

 

 

可以再查看一下日志

cat /tmp/test.com.log

 

 

Nginx解析php的配置

vi /data/wwwroot/

<?php

phpinfo();

配置如下:

vim /usr/local/nginx/conf/vhost/.conf

location ~ \.php$

    {

        include fastcgi_params;

        fastcgi_pass unix:/tmp/php-fcgi.sock;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME /data/wwwroot/$fastcgi_script_name;

    }

 fastcgi_pass 用来指定php-fpm监听的地址或者socket,如果php-fpm监听的是一个tcp:port的地址(比如127.0.0.1:9000),那么也需要在这里改成fastcgi_pass 127.0.0.1:9000;这个地址一定要和php-fpm服务监听的地址匹配,否则会报502错误。

curl -x127.0.0.1:80

 

如果502 ,或者哪里配置错了,可以查看日志

tail /usr/local/nginx/logs/nginx_error.log

或者查看ip端口  sock的配置    nginx和php-fpm的配置要对应好

/usr/local/php-fpm/etc/php-fpm.conf

还有一种情况是php-fpm资源耗尽,要优化

 

 Nginx代理

230008_HU9q_3716831.png

 

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/;        proxy_set_header Host   $host;        proxy_set_header X-Real-IP      $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    }}/usr/local/nginx/sbin/nginx -t    //检测是否有错误/usr/local/nginx/sbin/nginx -s reload   //重新加载测试: curl -x127.0.0.1:80 ask.apelearn.com/robots.txt

 

扩展

502问题汇总 

location优先级 

 

转载于:https://my.oschina.net/u/3716831/blog/1634873

你可能感兴趣的文章
我的友情链接
查看>>
贴片电容
查看>>
dex文件解析(1)
查看>>
傀儡式注入
查看>>
【Ubuntu 14.04】更新安装源
查看>>
我的友情链接
查看>>
POJ 3335 Rotating Scoreboard 半平面交
查看>>
oracle 闪回查询
查看>>
window.location.href和window.location.replace的区别
查看>>
《Gamestorming》读书笔记
查看>>
js实现网页图片延时加载的原理和代码
查看>>
Windows Live Writer配置步骤
查看>>
python 封装的一个FTP功能
查看>>
SpringBoot学习三:整合Mybatis
查看>>
18-Flutter移动电商实战-首页_火爆专区商品接口制作
查看>>
ARC中强指针与弱指针
查看>>
OAuth2.0
查看>>
Xcode显示行号
查看>>
UITableView刷新局部
查看>>
adjtimex修改tick值用法举例
查看>>