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

简介:
+关注继续查看

Nginx防盗链




1、[root@centos7 test.com]# vi /usr/local/nginx/conf/vhost/test.com.conf 

#+表示1或者多个,+前面的字符 

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

{

    expires 7d;

    valid_referers none blocked server_names  *.test.com ;

    #定义referer白名单

    if ($invalid_referer) {

        return 403;

    #if函数的意思是:如果不是白名单内的域名,返回值:403

    }

    access_log off;

}



验证:

curl -e:指定referer链接


[root@centos7 test.com]# curl -e "http://123123asdsd.test.com/asdas" -x127.0.0.1:80 -I test.com/baidu.png

HTTP/1.1 200 OK

Server: nginx/1.12.1


使用非白名单内的referer进行访问,被拒绝。


Nginx访问控制

需求:访问admin目录,只能允许几个指定IP可以访问,其他禁止

1、[root@centos7 test.com]# vim /usr/local/nginx/conf/vhost/test.com.conf 


server

{

    listen 80;

    server_name test.com  test2.com test3.com;

    index index.html index.htm index.php;

    access_log /tmp/test.com.log combined_realip;

    root /data/wwwroot/test.com;

    location /admin/

    {

    allow 192.168.3.74;

    allow 127.0.0.1;

    deny all;

    #从上至下的执行权限

    }

验证:

[root@centos7 test.com]# curl -x127.0.0.1:80  test.com/admin/admin.html

“admin root”

[root@centos7 test.com]# curl -x192.168.3.74:80  test.com/admin/admin.html

“admin root”


Nginx访问控制

可以匹配正则

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相关配置


location ~ \.php$

        #匹配以php结尾的文件

        {

            include fastcgi_params;

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

            fastcgi_index index.php;

            fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;

            #这里的路径要和root路径一致

        }



Nginx代理

工作模式:比如当用户访问真实主机192.168.1.100:8080时,不直接访问,通过nginx代理http://test.com访问,然后nginx跳转到真实主机上去,实现了nginx代理访问


1、

[root@centos7 vhost]# vi /usr/local/nginx/conf/vhost/tomcat.conf


server

{

    listen 80;

    server_name www.test-tomcat.com;

    #定义域名

    location /

    {

        proxy_pass      http://192.168.3.83:8080;

        #指定被代理(被访问)的IP(web服务器IP)

        proxy_set_header Host   $host;

        #$host指的是代理服务器的servername(也是被代理IP的域名)

        proxy_set_header X-Real-IP      $remote_addr;

#这个是在web端获取真实的IP,其中这个X-Real-IP是一个自定义的变量名,名字可以随意取

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

}


验证是否跳转:

00701815d1a1b63b01532e44179951d3.png-wh_



















本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/1981991,如需转载请自行联系原作者




相关文章
|
3月前
|
负载均衡 应用服务中间件 nginx
|
6月前
|
关系型数据库 MySQL 应用服务中间件
OpenSupports 在 NGINX 下的配置
OpenSupports 在 NGINX 下的配置
65 0
OpenSupports 在 NGINX 下的配置
|
域名解析 应用服务中间件 nginx
Nginx网站服务配置(二)
1、编译安装Nginx服务 2、认识Nginx服务的主配置文件nginx.conf 3、访问状态统计配置 4、基于授权的访问控制 5、基于客户端的访问控制 6、基于域名的Nginx的虚拟主机 7、基于 IP 的Nginx的虚拟主机 8、基于端口的Nginx的虚拟主机
Nginx网站服务配置(二)
|
网络协议 应用服务中间件 网络安全
Nginx网站服务配置(一)
1、编译安装Nginx服务 2、认识Nginx服务的主配置文件nginx.conf 3、访问状态统计配置 4、基于授权的访问控制 5、基于客户端的访问控制 6、基于域名的Nginx的虚拟主机 7、基于 IP 的Nginx的虚拟主机 8、基于端口的Nginx的虚拟主机
Nginx网站服务配置(一)
|
缓存 负载均衡 算法
Nginx 简单配置说明
Nginx 简单配置说明
142 0
Nginx 简单配置说明
|
存储 安全 应用服务中间件
一系列nginx安全配置
一、模块 1.查看所有模块: [root@proxy nginx-1.12.2]# ./configure --help 2.选择适合的模块:pcre:开启正则表达式支持http_autoindex_module:自动索引模块ssi_module:SSI 脚本http_ssl_module:ss...
2045 0
|
监控 安全 应用服务中间件
Nginx 功能介绍
Nginx 功能介绍 Nginx 功能介绍 Nginx提供的基本服务大体分为三类:基本Http服务,高级Http服务和邮件服务。 基本Http服务:可以作为Http代理服务器和反向代理服务器,支持通过缓存加速访问,完成简单的负载均衡和熔池,包括过滤功能,支持SSL等 Nginx提供高级Http服务,可以自定义配置,支持虚拟主机,支持URL重定向,支持网路监控,支持流媒体传输。
2238 0
|
监控 负载均衡 Java
NGINX功能详解
一、proxy_pass 在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
1264 0
|
应用服务中间件 nginx 缓存
Nginx各种配置
日志    日志中属性 $remote_addr,$http_x_forwarded_for 记录客户端IP地址 $remote_user 记录客户端用户名称 $request 记录请求的URL和HTTP协议 $status 记录请求状态 $body_bytes_sent...
910 0
相关产品
云迁移中心
推荐文章
更多