簡體   English   中英

nginx 反向代理,帶 2 個服務器

[英]nginx Reverse Proxy with 2 servers

所以我遇到了一個很酷的項目,我想重新創建它。 這是我第一次使用 nginx,也是我第一次學習反向代理。 我目前正在運行一個反向代理並且它可以工作(我猜)。 但代理目前僅適用於其他端口。 我有 3 台服務器正在運行 nginx。 我使用其中一個作為我的反向代理。 我可以使用不同的端口訪問其他服務器。 請參見此處(reverse-proxy.conf):

server {
        listen 80;
        root /var/www/html;
        server_name localhost;

        location / {
                    proxy_pass http://192.168.2.20;
        }
}

server {
        listen 8080;
        root /var/www/html;
        server_name localhost;

        location / {
                    proxy_pass http://192.168.2.30;
        }
}

有沒有辦法在不使用不同端口的情況下使用反向代理? 或者我的解決方案可以嗎? 最后,我只需要一個能夠與其他 2 台服務器通信的反向代理。

所以這里的一件事人們以不同的方式使用反向代理

但最通用的用例是使用 location 重定向

請找到以下示例。

server {
        listen 80;
        root /var/www/html;
        server_name localhost;

        location /a {
                    proxy_pass http://192.168.2.20;
        }
        location /b {
                    proxy_pass http://192.168.3.20;
        }
}

另一個是賦予每個代理權重

請找到以下示例

stream { 
upstream stream_backend { 
    server http://192.168.2.20 weight=75;
    server http://192.168.3.20 weight=25; 
} 
server { 
    listen 80;
    root /var/www/html;
    server_name localhost;

    location / {
    proxy_pass stream_backend;
} 

}

在上面,192.168.2.20 將接收 75% 的負載,192.168.3.20 將接收 25% 的負載。 如果您想將相等的負載分配給兩者(或循環方法),請移除重量。

我想你可能不明白 Nginx 是如何處理代理的。 Nginx can reverse Proxy L7 http or L4 stream and you set the proxy listen on any port or URL you want and proxy to any server or port or URL you want.

server {
        listen 80;
        root /var/www/html;
        server_name localhost;

        location / {
                    proxy_pass http://192.168.2.20:2323/URL;
        }
}
server {
        listen 8080;
        root /var/www/html;
        server_name localhost;

        location / {
                    proxy_pass unix:/tmp/backend.socket;
        }
}

這是關於 proxy_pass 指令的參考。 proxy_pass

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM