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

简介:

扩展:

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,如需转载请自行联系原作者
目录
打赏
0
0
0
0
235
分享
相关文章
PHP技巧:解析JSON及提取数据
这就是在PHP世界里探索JSON数据的艺术。这场狩猎不仅仅是为了获得数据,而是一种透彻理解数据结构的行动,让数据在你的编码海洋中畅游。通过这次冒险,你已经掌握了打开数据宝箱的钥匙。紧握它,让你在编程世界中随心所欲地航行。
117 67
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
215 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
27天前
|
局域网屏幕监控软件 PHP 图像块增量传输算法解析
本文探讨了一种基于PHP语言开发的图像块增量传输算法,适用于局域网屏幕监控场景。通过将屏幕图像分块处理、计算哈希值并对比变化区域,该算法显著降低了网络带宽占用,提升了监控效率。在企业管理和远程教育中,该技术可实现终端设备的实时监控与远程管控,同时支持与生物识别等技术融合,拓展应用范围。实验表明,该算法在常规办公场景下可减少90%以上的数据传输量,展现了良好的实时性和优化效果。
29 3
内网监控桌面与 PHP 哈希算法:从数据追踪到行为审计的技术解析
本文探讨了内网监控桌面系统的技术需求与数据结构选型,重点分析了哈希算法在企业内网安全管理中的应用。通过PHP语言实现的SHA-256算法,可有效支持软件准入控制、数据传输审计及操作日志存证等功能。文章还介绍了性能优化策略(如分块哈希计算和并行处理)与安全增强措施(如盐值强化和动态更新),并展望了哈希算法在图像处理、网络流量分析等领域的扩展应用。最终强调了构建完整内网安全闭环的重要性,为企业数字资产保护提供技术支撑。
79 2
Nginx,正向代理
本文介绍了Nginx作为HTTPS正向代理的两种方案:HTTP CONNECT隧道(7层)和NGINX stream(4层)。HTTP CONNECT隧道需要客户端手动配置代理,通过CONNECT请求建立隧道;而NGINX stream则更适合透明代理,利用SNI字段实现流量转发。文章详细讲解了两者的原理、环境搭建、使用场景及常见问题,并提供了配置示例和最佳实践建议。内容转载自阿里云开发者社区@怀知的文章,推荐读者参阅原文获取更多信息。感谢您的阅读!
711 80
Nginx,正向代理
关于员工上网监控系统中 PHP 关联数组算法的学术解析
在当代企业管理中,员工上网监控系统是维护信息安全和提升工作效率的关键工具。PHP 中的关联数组凭借其灵活的键值对存储方式,在记录员工网络活动、管理访问规则及分析上网行为等方面发挥重要作用。通过关联数组,系统能高效记录每位员工的上网历史,设定网站访问权限,并统计不同类型的网站访问频率,帮助企业洞察员工上网模式,发现潜在问题并采取相应管理措施,从而保障信息安全和提高工作效率。
57 7
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
305 11
PHP中的异常处理机制深度解析####
本文深入探讨了PHP中异常处理机制的工作原理,通过实例分析展示了如何有效地使用try-catch语句来捕获和处理运行时错误。我们将从基础概念出发,逐步深入到高级应用技巧,旨在帮助开发者更好地理解和利用这一强大的工具,以提高代码的稳定性和可维护性。 ####
PHP中的异常处理机制解析####
本文深入探讨了PHP中的异常处理机制,通过实例解析try-catch语句的用法,并对比传统错误处理方式,揭示其在提升代码健壮性与可维护性方面的优势。文章还简要介绍了自定义异常类的创建及其应用场景,为开发者提供实用的技术参考。 ####
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问