标签:set http header 访问 server nginx proxy 正向
需求
业务某节点无外网访问权限(直接访问外网会被对方追踪到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来实现
标签:set,http,header,访问,server,nginx,proxy,正向 来源: https://www.cnblogs.com/Jarvansi/p/15873108.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。