为业务机配置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 设置 workman的wss 反向代理

 
 
 
在配置文件增加以下两部分即可

upstream wss {
# 这里的localhost是映射本地服务器,也可以是外网ip,12360端口。
server localhost:12360;
}

# websockets
location /wss {
#Gateway的端口:23460
proxy_pass http://127.0.0.1:23460;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrad...

nginx 反向代理 websocket

upstream webacked{
server 127.0.0.1:9505; #目标服务器websockt地址
}
server { # 监听当前服务器端口
listen 9888;
location / {
proxy_pass http://webacked;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

&n...

nginx 反向代理跨域

#http服务反向代理location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

add_header X-Cache $upstream_cache_s...

反向代理(reverse proxy)

一、概念
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。 
使用反向代理服务器的作用如下:
1、保护和隐藏原始资源服务器
如下图

用户A始终认为它访问的是原始服务器B而不是代理服务器Z,但实用际上反向代理服务器接受用户A的应答,从原始资源服务器B中取得用户A的需求资源,然后发送给用户A。由于防火墙的作用,只允许代理服务器Z访问原始资源服务器B。尽管在这个虚拟的环境下,防火墙和...

nginx配置代理

假如访问52ccn.com 代理到后面的vue项目
访问52ccn.com 重定向301到https://52ccn.com

worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_...

nginx 部署后端项目

nginx 部署后端实际上进行了一个代理模式。
    服务器对外开放端口为80;  你的项目运行在 5555 端口; 当你的浏览器访问, 服务器80 端口, 服务器会将数据转发到 5555 端口。 

# 客户端接口
server{
listen 80;
server_name 123.56.223.123;
location /{
proxy_pass http://127.0.0.1:5555;
proxy_redirect off;
proxy_set_header ...

nginx日常报错解决

1. 问题一
报错:
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /lingtian/opt/nginx/conf/vhost/test.conf:46

描述:
# 当nginx的location使用~或~*等正则表达式时,proxy_pass不能在后面等url中加 / 去掉locati...

[nginx] nginx判断文件存在直接返回,不存在的时候才执行反向代理

当开启了反向代理以后,根目录的文件就不能被访问的到了,这个时候可以使用这个技巧来实现
当文件存在的时候,不走反向代理,直接返回
当文件不存在的时候,正常走反向代理
 

location /
{
try_files $uri @gofly;

}
location @gofly{
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-...

终端配置 代理

cmd配置
set http_proxy=http://127.0.0.1:1080
set http_proxys=http://127.0.0.1:1080

可以使用删除
set http_proxy=
set http_proxys=

gitbash/shell下配置
export http_proxy=http://127.0.0.1:1080
export http_proxys=http://127.0.0.1:1080

要是不想使用了
可以使用
export http_proxy=
export http_proxys=

要点
一定要加 http://,直接写域名或者 ...

nginx配置透明代理

来自:https://blog.csdn.net/weixin_34072458/article/details/91677177
location / {
proxy_pass $scheme://$host$request_uri; #代理转发对应的服务器

proxy_bind $remote_addr transparent; #这行很关键,启用透明代理

proxy_set_header X-Real-IP $remote_addr; #这行是可选,把客户端IP头加到http自定义字段而已

}

}

...

文章标题:为业务机配置nginx正向代理访问外网
文章链接:https://www.dianjilingqu.com/50870.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>