前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx防盗链,Nginx访问控制,Nginx解析php相关配置, Nginx代理

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

作者头像
叶瑾
发布2018-06-14 11:30:26
7340
发布2018-06-14 11:30:26
举报
文章被收录于专栏:linux系统运维

Nginx防盗链:

vim /usr/local/nginx/conf/vhost/test.com.conf    = 默认虚拟主机配置防盗链

代码语言:javascript
复制
#防盗链核心配置
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$    =表示匹配文件格式
{
    expires 7d;     = 保存7天
    valid_referers none blocked server_names  *.test.com ;     = 匹配域名
    if ($invalid_referer) {
        return 403;   = 域名匹配不成功返回403
    }
    access_log off;
}

配置完以后 -t && -s reload

代码语言:javascript
复制
[root@aming-01 test.com]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@aming-01 test.com]# /usr/local/nginx/sbin/nginx -s reload

测试防盗链:

代码语言:javascript
复制
[root@aming-01 test.com]# curl -e "http:www.test.com/1.txt" -x127.0.0.1:80 test.com/1.gif -I   =测试防盗链需要指定 -e 然后格式必须使用 http 开头
HTTP/1.1 200 OK    = 200状态码说明Ok
Server: nginx/1.12.1
Date: Thu, 26 Apr 2018 14:04:56 GMT
Content-Type: image/gif
Content-Length: 21
Last-Modified: Thu, 26 Apr 2018 13:48:21 GMT
Connection: keep-alive
ETag: "5ae1d8a5-15"
Expires: Thu, 03 May 2018 14:04:56 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes

Nginx访问控制:

vim /usr/local/nginx/conf/vhost/test.com.conf     =虚拟主机配置文件

代码语言:javascript
复制
location /admin/
{
    allow 192.168.133.1;
    allow 127.0.0.1;
    deny all;
}

配置文件里面的规则,nginx是一条一条匹配的如果第一条匹配成功那么就不会匹配下面的规则了。例如 配置里面 allow 127.0.0.1 如果访问的 IP是127.0.0.1 那么匹配第一条规则就直接允许访问,就不会匹配后面的其他规则,如果访问过来的是127.0.0.2那么就会直接deny 掉不允许访问。

allow=允许访问  deny=拒绝访问

还可以同样适用正则匹配,和user_agent限制

代码语言:javascript
复制
可以匹配正则
location ~ .*(abc|image)/.*\.php$
{
        deny all;
}
根据user_agent限制
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')
{
      return 403;
}
 deny all和return 403效果一样

Nginx解析php相关配置:

vim /usr/local/nginx/conf/vhost/test.com.conf     =虚拟主机配置文件

代码语言:javascript
复制
location ~ \.php$
    {
        include fastcgi_params;    #fastcgi_pass 用来指定php-fpm监听的地址或者socket
        fastcgi_pass unix:/tmp/php-fcgi.sock;     
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;
    }

Nginx代理:

Nginx代理分正向代理和反向代理。 

http://blog.csdn.net/zjf280441589/article/details/51501408

Nginx代理是在一台代理服务器中自定义一个域名(这个域名基本上跟web服务器的域名相同),该域名指向一个IP(web服务器),然后将用户的请求通过这台代理服务器访问指定的IP所对应的web服务器。

首先创建一个新的配置文件:

代码语言:javascript
复制
[root@aminglinux-01 ~]# cd /usr/local/nginx/conf/vhost/
[root@aminglinux-01 vhost]# 
[root@aminglinux-01 vhost]# vim proxy.conf

配置文件:

代码语言:javascript
复制
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;
    }
}

测试本机访问论坛。

扩展

502问题汇总 http://ask.apelearn.com/question/9109

location优先级:http://blog.lishiming.net/?p=100

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx防盗链:
  • Nginx访问控制:
  • Nginx解析php相关配置:
  • Nginx代理:
    • 扩展
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档