Nginx外网访问内网如何实现
作者:mmseoamin日期:2023-12-14

1、背景

        项目要求:将甲方内网的项目能够对外访问,甲方提供一个中间过渡服务器,中间过渡服务器与外网互通,且中间服务器可以访问内网;

        外网客户端->中间过渡服务器开放端口:80

        中间过渡服务器->内网服务器开放端口:80、9095

Nginx外网访问内网如何实现,第1张

2、系统环境

        系统架构:Vue + SpringBoot 

        服务器:

                1、外网可以访问的服务器且此服务器可以访问到外网;

                2、内网3台服务器,1台跳转服务器【用于做负载】,2台应用服务器;

3、配置步骤

        1、这样配置的必要性

        外网浏览器与内网是不通的,但是外网与中间过渡服务器是通的,中间过渡服务器与内网服务器是通的,这样在外网访问过渡服务器时,过渡服务器再跳转到后台服务器,相当于外网浏览器给内网后台服务器发送的请求,这样肯定是不通的,所以当外网浏览器访问中间过渡服务器时,中间过渡服务器做了一个代理,然后跳转到内网服务器,相当于中间过渡服务器发送的请求,这样就可以实现外网访问内网的功能了!

        2、nginx.conf

server {

        listen       8282;

        server_name  127.0.0.1;

        charset utf-8;

        location / {

            root  dist/;                                       #前端配置路径,自行修改

            try_files $uri $uri/ /index.html last;   

            index index.html;

        }

        

        location /dev-api/ {                              #后台配置的代理服务器

            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header REMOTE-HOST $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_pass http://127.0.0.1:9095/;   #配置的是后台内网的API地址

        }