weixin_44175770 2024-09-25 17:06 采纳率: 16.7%
浏览 7

nginx应用部署实现内网某一个应用只访问单个公网地址。

现有2台服务器 :A机和 B机。A机纯内网应用(应用端口号8090)会和内网其他很多业务互访。B机是DMZ区域的,可以访问外网服务器。
现在我想实现:
1、在外网用户可以通过https域名访问A机的业务应用。
2、A机的业务(应用端口号8090)能够访问某一个公网地址比如weixin.com,只需要访问这一个服务即可,不需要访问其他公网地址。

__其实我这就是部署微信小程序,但是业务系统在内网,有个dmz外网服务器__。****

我的理解是:需要在B机上面部署nginx,反向代理,让用户能够通过域名访问A机的业务。同时要在A机上也部署一个nginx,并配置代理,指向A机,去访问公网的weixin.com。
这个办法对不对。如果对的话分别如何配置nginx.conf。如果不对,请指导一下。

我百度看有些说只在B机上面部署个nginx通过正向和反向代理实现, 正向代理后要再A机配置“vi /etc/profile”,写入:export http_proxy=192.168.0.97:8090。这样的话,好像A机的所有出去的路由都会走向B机了,感觉不对啊。__

  • 写回答

2条回答 默认 最新

  • 一轮明月照丘壑 2024-09-25 17:07
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    你的理解是正确的,确实可以通过在B机上部署Nginx来实现反向代理,让用户能够通过域名访问A机的业务应用。同时,由于A机需要访问公网的weixin.com,你可以在A机上配置Nginx代理到weixin.com。下面是如何配置nginx.conf的指导:

    B机上的Nginx配置 (针对外网用户访问A机的业务应用)

    1. 配置服务器块(server block)以监听你的域名和HTTPS端口(例如443)。
    2. 配置SSL证书以确保HTTPS连接的安全性。
    3. 配置反向代理将请求转发到A机的业务应用。假设A机的IP地址是192.168.x.x,端口是8090

    示例配置:

    server {
        listen 443 ssl;
        server_name yourdomain.com;  # 你的域名
        ssl_certificate /path/to/certificate;  # SSL证书路径
        ssl_certificate_key /path/to/private_key;  # SSL证书私钥路径
    
        location / {
            proxy_pass http://192.168.x.x:8090;  # 转发到A机的业务应用
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            # 其他代理相关的配置...
        }
    }
    

    A机上的Nginx配置 (用于访问weixin.com)

    1. 配置一个服务器块来监听需要代理的域名或IP地址和端口。
    2. 配置反向代理到weixin.com。

    示例配置:

    server {
        listen 80;  # 或者其他需要的端口
        server_name internal_domain;  # 你的内部域名或IP地址
    
        location /weixin/ {  # 访问weixin的URL路径前缀可以根据需要调整
            proxy_pass https://weixin.com/;  # 转发到weixin.com
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            # 其他代理相关的配置...
        }
    }
    

    这样配置后,外网用户可以通过访问B机上的Nginx服务器来访问A机的业务应用,同时A机的业务应用可以通过访问A机上的Nginx服务器来访问weixin.com。注意替换上述配置中的路径、域名和端口为你实际的路径、域名和端口。另外,确保在防火墙和网络安全设置中正确允许相关流量通过。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月25日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?