12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配置;12.16 Nginx代理

本文涉及的产品
访问控制,不限时长
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

扩展:

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

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

12.13 Nginx防盗链

设定目录访问受限:

 1. 配置test.com网站目录防盗链编辑虚拟主机配置文件:

[root@hao-01 ~]# 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;

   valid_referers none blocked server_names  *.test.com ;

   if ($invalid_referer) {

       return 403;

   }

   access_log off;

}wKiom1mRn8bSV22OAABcDArdXN4602.png2. 检测nginx配置文件是否有错?

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!):

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -s reload

4. 查看test.com网站目录下的静态文件

[root@hao-01 ~]# ls /data/wwwroot/test.com/

5. curl测试,通过百度网站访问test.com网站下的静态文件403受限

[root@hao-01 ~]# curl -e "http://www.baidu.com/1.txt" -x127.0.0.1:80 -I test.com/1.gifwKioL1mRncrw7WDDAAARAuiCDFo631.png

6. curl测试,通过test.com网站访问test.com网站下的静态文件200

[root@hao-01 ~]# curl -e "http://www.test.com/1.txt" -x127.0.0.1:80 -I test.com/1.jpgwKioL1mRneCCa45KAAAPax-4Lec582.png12.14 Nginx访问控制

1. 配置testt.com网站访问控制编辑虚拟主机配置文件:

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

   location /hao/

   {

       allow 127.0.0.1;

       allow 127.168.211.128;

       deny all;

   }

wKiom1mRn-7jISM2AAAn1fx3_sE835.png

spacer.gif2. 检测nginx配置文件是否有错?

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!):

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -s reload

4. 在test.com网站目录下,创建一个目录hao

[root@hao-01 ~]# mkdir /data/wwwroot/test.com/hao/

5. ...hao/目录下创建1.html文件,并追加内容

[root@hao-01 ~]# echo “test,test”>/data/wwwroot/test.com/hao/1.html

6. curl通过白名单127.0.0.1ip访问test.com网站下hao目录下的1.html文件: [root@hao-01 ~]# curl -x127.0.0.1:80 test.com/hao/1.html -IwKiom1mRoAGTjLhoAAANxz5V3t8413.png

spacer.gif

7. curl通过白名单192.168.211.128ip访问test.com网站下hao目录下的1.html文件: [root@hao-01 ~]# curl -x192.168.211.128:80 test.com/hao/1.html -I

spacer.gifwKioL1mRoBHhIN7qAAANxz5V3t8335.png

8. 添加一个虚拟网卡wKiom1mRoCOz5H1cAACBuFQDfvw345.png9. 重新自动获取ens37新网卡ip

[root@hao-01 ~]# dhclient ens37

10. 查看ens37新网卡ip

[root@hao-01 ~]# ifconfig ens3711. curl通过白名单192.168.211.132ip访问test.com网站下hao目录下的1.html文件:[root@hao-01 ~]# curl -x192.168.211.132:80 test.com/hao/1.html -IwKiom1mRoEyxsmu9AAAaOWt4EAE606.png11. curl通过白名单192.168.211.132ip访问test.com网站下hao目录下的1.html文件:[root@hao-01 ~]# curl -x192.168.211.132:80 test.com/hao/1.html -I

设定指定目录php文件解析受限

1. 配置test.com网站php文件防盗链编辑虚拟主机配置文件:

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容:

location ~ .*(upload|image)/.*\.php$

{

deny all;

}

wKioL1mRoNSx9O2wAAA1hDZKz8g792.png

2. 在test.com网站目录下,创建一个目录upload/

[root@hao-01 ~]# mkdir /data/wwwroot/test.com/upload/

3. ...hao/目录下创建1.php文件,并追加内容

[root@hao-01 ~]# echo “111”>/data/wwwroot/test.com/upload/1.php

4. 检测nginx配置文件是否有错?

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -t

5. 重新加载nginx配置文件(非重启!):

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -s reload

6. curl访问test.com网站下upload目录下1.php文件 403受限:

[root@hao-01 ~]# curl -x192.168.211.132:80 test.com/upload/1.php -I

根据user_agent限制:

1. 编辑test.com虚拟主机配置文件:

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(deny all和return 403效果一样):

if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato')

{

return 403;

}

wKiom1mRoV6xT9yGAAApI9EmQJM541.png

2. 检测nginx配置文件是否有错?

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!):

[root@hao-01 ~]# /usr/local/nginx/sbin/nginx -s reload

4. curl 指定user_agenttomatoalsdkflsd,访问test.com网站 403受限

[root@hao-01 ~]# curl -A "tomatoalsdkflsd" -x127.0.0.1:80 test.com -IwKioL1mRoYPih0r6AAAOXIhxjJo732.png

spacer.gif12.15 Nginx解析php相关配置

1. 编辑test.com虚拟主机配置文件:

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(解析php相关内容):

(注意这行很重要,fcgi.sock保证路径存在:astcgi_pass unix:/tmp/php-fcgi.sock;

路径不对,访问错误会报502)

location ~ \.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;

}

wKiom1mRoaKR2zftAABBAnNlZ0s122.png

2. 在test.com网站目录下创建1.php文件,并填写如下内容:

[root@hao-01 ~]# vim /data/wwwroot/test.com/1.php

添加内容(php相关配置)

<?php

phpinfo();

3. curl 访问test.com网站下的1.php文件:

[root@hao-01 ~]# curl -x127.0.0.1:80 test.com/1.php

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

12.16 Nginx代理

1. 进入...vhost目录下

[root@hao-01 ~]# cd /usr/local/nginx/conf/vhost

2. 创建proxy.conf文件,并写入代理配置:

[root@hao-01 vhost]# vim /usr/local/nginx/conf/vhost/proxy.conf

server

{

   listen 80;

   server_name baidu.com;

   location /

   {

       proxy_pass      http://111.13.101.208/;

       proxy_set_header Host   $host;

       proxy_set_header X-Real-IP      $remote_addr;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   }

}

wKioL1mRocKw03c8AAAvhNgjn9Q803.png

3. curl访问远程baidu.com/robots.txt

[root@hao-01 vhost]# curl -x127.0.0.1:80 baidu.com/robots.txt

wKioL1mRojTDJe27AAAW5ji_Iqo911.png










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1956200,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
JSON PHP 数据格式
PHP解析配置文件的常用方法
INI文件是最常见的配置文件格式之一。
|
10天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
30 3
|
16天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
17天前
|
PHP 开发者 容器
PHP命名空间深度解析与最佳实践####
本文深入探讨了PHP中命名空间(namespace)的机制、应用场景及最佳实践,旨在帮助开发者有效避免命名冲突,提升代码的组织性和可维护性。通过实例讲解,本文将引导您理解如何在实际项目中灵活运用命名空间,以及如何遵循业界公认的最佳实践来优化您的PHP代码结构。 ####
|
17天前
|
数据库连接 PHP 开发者
PHP中的异常处理深度解析####
【10月更文挑战第29天】 本文深入探讨了PHP中的异常处理机制,通过实例演示如何有效地捕获和处理运行时错误,提升代码的健壮性和可维护性。我们将从基础概念出发,逐步深入到自定义异常类的应用,以及如何在复杂项目中实施最佳实践。 --- ###
39 4
|
16天前
|
PHP 开发者
PHP 7新特性深度解析及其最佳实践
【10月更文挑战第31天】本文将深入探讨PHP 7带来的革新,从性能提升到语法改进,再到错误处理机制的变革。我们将通过实际代码示例,展示如何高效利用这些新特性来编写更加健壮和高效的PHP应用。无论你是PHP新手还是资深开发者,这篇文章都将为你打开一扇窗,让你看到PHP 7的强大之处。
|
16天前
|
安全 编译器 PHP
PHP 8新特性解析与实践应用####
————探索PHP 8的创新功能及其在现代Web开发中的实际应用
|
27天前
|
PHP 数据安全/隐私保护 开发者
PHP 7新特性解析与实践
【10月更文挑战第20天】本文将深入浅出地介绍PHP 7的新特性,包括性能提升、语法改进等方面。我们将通过实际代码示例,展示如何利用这些新特性优化现有项目,提高开发效率。无论你是PHP新手还是资深开发者,都能从中获得启发和帮助。
|
25天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
88 1
|
14天前
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####

推荐镜像

更多
下一篇
无影云桌面