Nginx
將許多網站放在反向代理後面
我有一堆臨時域,如下所示:
app1.dummydomain.com app2.dummydomain.com app3.dummydomain.com ...
這些應用程序可能駐留在具有不同 IP 的不同伺服器上。
現在我想把所有這些應用程序放在同一個反向代理後面,並給它們每個真正的域,比如
www.myapp1.com www.myapp2.com www.myapp3.com ...
當使用者瀏覽器打開上述任何一個域時,請求(https)首先到達代理,然後代理智能地將請求轉發到正確的網站。
實現這一目標的最佳方法是什麼?
使用 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 等。要記住的另一件事是,您需要為每個進入的站點設置一個伺服器塊,如果它們沒有全部被轉發到同一個地方。