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 条评论
登录 后参与评论

相关文章

来自专栏鬼谷君

04-创建kubeconfig认证文件

893
来自专栏PHP技术

Nginx配置文件详细说明

#运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件...

3006
来自专栏杨建荣的学习笔记

Linux中的configure,make,make install到底在做些什么

在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定。 有时...

3263
来自专栏北京马哥教育

GlusterFS分布式文件系统使用简介

术语简介 GlusterFS是一个开源的分布式文件系统。更多特性介绍附录的参考文档。 Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出...

4176
来自专栏IMWeb前端团队

用webpack配置Riot Redux工程

名词介绍 webpack是一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片Riot的tag文件等...

1819
来自专栏流柯技术学院

查看Android应用包名、Activity的几个方法

直接打开AndroidManifest.xml文件,找到包含android.intent.action.MAIN和android.intent.category...

882
来自专栏伪君子的梦呓

安装和配置 Eclipse

之前安装了 Java 并且配置好了 Java 的环境变量,现在来搞一下开发环境,下面就是下载安装和配置 Eclipse 的教程。

871
来自专栏机器学习原理

知识图谱(1)——neo4j的安装下载相应的资源

Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置...

751
来自专栏信安之路

nmap使用指南(终极版)

2.指定范围 192.168.1.1-255 192.168.1-255.1(任意位置) 3.IPv6地址只能用规范的IPv6地址或主机名指定。 CIDR 和...

1520
来自专栏Golang语言社区

在 Golang 项目中使用 Spring Cloud Config Server 管理配置

最近用 Go 写后端写得很开心,写篇比较实用的博客总结下如何通过 Spring Cloud Config Server 管理 Go 程序中的配置。 实现并不复杂...

1123

扫码关注云+社区