为业务机配置nginx正向代理访问外网
2022/2/9 7:12:51
本文主要是介绍为业务机配置nginx正向代理访问外网,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
需求
业务某节点无外网访问权限(直接访问外网会被对方追踪到IP地址,存在安全隐患),但自身需要访问一些公共节点,
先决条件
开发会提供访问的http地址(http://47.241.233.90:9100)
,和服务名称rdb
最后组合成的域名是server_rdb_proxy.com
,这里rdb
就是服务名称
方案
1、业务机开放所有外网访问权限,出公网走NAT。VPC再配置AMZ的防火墙
缺点是vpc下所有机器都会受防火墙影响,规则不够细化,并且每次需要运维手动操作
2、Nginx(正向)代理
业务机器指定hostsnginx_ip server_rdb_proxy.com
只有配置了nginx正向代理的conf,业务机才有访问的权限,这样的话业务机数据不会对外有泄露的风险,也就是说此时业务机只能访问如下地址的服务
这里proxy_pass不要写upstream,直接转发到对应域名或者地址即可
server { listen 80 ; server_name server_rdb_proxy.com; location / { proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header; proxy_pass http://47.241.233.90:9100; proxy_set_header Host $host; proxy_set_header X-NginX-Proxy true; proxy_set_header 'Access-Control-Allow-Origin' "$http_origin"; proxy_set_header X-forwarded-for $remote_addr; proxy_set_header x-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $http_host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Proxy ""; } access_log /tmp/t1.log main; error_log /dev/null; }
最终实现业务机器想访问哪个外部节点必须添加本地hosts和代理nginx配置才可以实现访问
也可以使用squid来实现
这篇关于为业务机配置nginx正向代理访问外网的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-13用Nginx防范DDoS攻击的那些事儿
- 2024-12-13用Terraform在AWS上搭建简单NGINX服务器指南
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享