反向代理到不同的内部服务器

反向代理到不同的内部服务器

在我们的机构中​​,我们有一个静态公共 IP,但托管了多个用于互联网访问的应用程序。在尝试通过单个服务器访问不同内部服务器上的应用程序时,发现反向代理可以完成这项工作。以下是当前要求: 在此处输入图片描述

为了实现这一点,我们安装了 Apache 和 Nginx(Ubuntu 20),如下图所示这里。但不幸的是,反向代理没有按预期工作。虽然安装时没有错误,但方向没有发生。

server  {
    listen  443 ssl;
    server_name domaina.com;
    ssl  on;
    ssl_certificate /etc/letsencrypt/live/domaina.com.cer;
    ssl_certificate_key /etc/letsencrypt/live/domaina.com.key;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    location  / {
            proxy_pass  https://10.10.60.18/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    }

}

server  {
        listen  443 ssl;
        server_name domainb.com;
        ssl  on;
        ssl_certificate /etc/letsencrypt/live/domainb.com.cer;
        ssl_certificate_key /etc/letsencrypt/live/domainb.com.key;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        location  / {
                proxy_pass  https://10.10.60.30/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

使用上述设置不会发生这种情况。不确定我们的方法是否正确,是否有正确的方法可以实现这一点?

答案1

找到了一个超级好的解决方案。只需从以下网址下载并安装 Nginx Proxy Manager:https://nginxproxymanager.com/ 这可以作为 docker 运行,因此无需安装任何依赖项。这是一个一体化软件包。只需下载并运行即可。然后使用非常易于使用的 GUI 打开应用程序集“代理主机”。完整指南可在此处获取:https://nginxproxymanager.com/guide/#project-goal

相关内容