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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CRPER折腾记

一篇不大靠谱的nginx 1.11.10配置文件

网站是前后端分离,前端打包站点部署需要自力更生,为了避免跨域问题. 选择了nginx这个知名的反向代理服务器. 这里不探究安装这种问题。。。

8720
来自专栏张戈的专栏

Nginx网站使用CDN之后禁止用户真实IP访问的方法

做过面向公网 WEB 运维的苦逼们肯定见识过各种恶意扫描、拉取、注入等图谋不轨行为吧?对于直接对外的 WEB 服务器,我们可以直接通过 iptables 、 N...

1.9K120
来自专栏运维小白

12.12 静态文件不记录日志和过期时间

静态文件不记录日志和过期时间目录概要 配置如下 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { ...

199100
来自专栏电光石火

Win7系统 IIS 调试ASP(aspcmsgbk25) 错误号:3706

一、错误号:3706  错误描述:未找到提供程序。该程序可能未正确安装。

24050
来自专栏EAWorld

微服务动态路由实现:OpenResty+K8s

K8sService能够提供很强大的功能,通过提供ClusterIP可以作为Pod的对外访问接口,并提供软负载均衡。但是Service的ClusterIP地址只...

1.5K90
来自专栏IT笔记

JavaWeb项目架构之Elasticsearch日志处理系统

Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。 ...

82870
来自专栏分布式系统进阶

Kafka是如何处理客户端发送的数据的?

// respond immediately if // 1) fetch request does not w...

17110
来自专栏电光石火

Win7系统 IIS 调试ASP(aspcmsgbk25) 错误号:3706

一、错误号:3706  错误描述:未找到提供程序。该程序可能未正确安装。

209100
来自专栏电光石火

Win7系统 IIS 调试ASP(aspcmsgbk25) 错误号:3706 提示 “未找到提供程序 该程序可能未正确安装”解决办法

有两种报错形式 一、错误号:3706  错误描述:未找到提供程序。该程序可能未正确安装。 二、“ADODB.Connection 错误 '800a0e7a'...

26590
来自专栏openshift持续集成

jenkins邮件插件中的内容参数设置

众所周知,Jenkins默认提供了一个邮件通知,能在构建失败、构建不稳定等状态后发送邮件。但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容、无法定...

98880

扫码关注云+社区

领取腾讯云代金券