将许多网站置于反向代理之后

将许多网站置于反向代理之后

我有一堆临时域,如下所示:

app1.dummydomain.com app2.dummydomain.com app3.dummydomain.com ...

这些应用程序可能驻留在具有不同 IP 的不同服务器上。

现在我想把所有这些应用程序放在同一个反向代理后面,并给它们每个一个真正的域名,比如

www.myapp1.com www.myapp2.com www.myapp3.com ...

当用户浏览器打开上述任何域时,请求(https)首先转到代理,然后代理智能地将请求转发到正确的网站。

实现这一目标的最佳方法是什么?

答案1

使用 NGINX 可以轻松完成此操作,但您需要记住,所有流量都将通过反向代理,因此确实会对该机器产生一些要求。将 SSL 卸载到反向代理也是相当常见的做法,这会将加密负载转移到反向代理。

这是 NGINX 反向代理功能的官方文档:https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

但本质上它可以归结为最简单的形式:

server {
    listen 80;
    listen [::]:80;

    access_log /var/log/nginx/reverse-access.log;
    error_log /var/log/nginx/reverse-error.log;

    location / {
                proxy_pass http://someother.server.org:8000;
    }
}

您需要添加一些内容来处理,例如传递请求、处理 SSL/TLS 等。另外要记住的是,如果不是所有站点都被转发到同一个地方,您将需要为每个进入的站点提供一个服务器块。

相关内容