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

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

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

Nginx防盗链:

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

#防盗链核心配置
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

[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

测试防盗链:

[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     =虚拟主机配置文件

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限制

可以匹配正则
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     =虚拟主机配置文件

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服务器。

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

[root@aminglinux-01 ~]# cd /usr/local/nginx/conf/vhost/
[root@aminglinux-01 vhost]# 
[root@aminglinux-01 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;
    }
}

测试本机访问论坛。

扩展

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代理:
    • 扩展
    相关产品与服务
    轻量应用服务器
    轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档