簡體   English   中英

Nginx反向代理Gogs

[英]Nginx reverse proxy to Gogs

我正在嘗試將Nginx服務器實現為用於訪問Gogs實例的反向代理。 原因是我需要從工作場所訪問我的服務,除了標准端口之外,所有其他端口均被阻止。 為了避免服務器上的端口沖突,大多數服務都在> 1000的端口上運行(就此而言,Gogs也在默認的3000上運行)。 因此,我創建了自己的vhost配置以重定向到Gogs。 我得到的是純HTML網站,但顯示加載圖像和腳本時顯示錯誤的錯誤。 似乎Gogs本身會將客戶端重定向到多個子資源,例如/ js,/ img,/ asset和/ user。 然后,我將/ js和/ img路徑作為位置添加到我的nginx配置中,並使站點運行。 但是,要跟蹤和配置所有這些路徑,似乎需要進行大量工作。 有沒有一種方法可以讓我通過nginx將這些路徑提供給客戶端,而不必一一配置?

Gogs和nginx實例在同一台服務器上運行,重定向是通過ip配置的,沒有像本地主機或127.0.0.1這樣的環回,即使我嘗試沒有成功。

在此先感謝您的幫助,並在下面找到我的配置。 RMG PS:我檢查了不同的教程和問題,包括此stackoverflow問題

 server { listen 80 default_server; server_name devsrv; #this redirect to another server on port 80 works fine location /nextcloud { proxy_pass http://OTHERIP/nextcloud; } location /gogs/ { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://LOCALIP:3000/; } # gogs script location location /js { proxy_pass http://LOCALIP:3000/js; } # gogs image location location /img { proxy_pass http://LOCALIP:3000/img; } } 

server {
        listen 80 default_server;
        server_name devsrv;

        #this redirect to another server on port 80 works fine
        location /nextcloud {
                proxy_pass http://OTHERIP/nextcloud;
        }

        location /gogs/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://LOCALIP:3000/;
        }
        location / {
                proxy_pass http://LOCALIP:3000$request_uri;
        }


}

設置所有需要使用特殊參數處理的特定url(/ gogs或/ nextcloud上的X-Real-IP到其他ip),並使用$ request_uri將所有其他url發送到gogip。

/ JS? LOCALIP:3000 / JS

/ img? LOCALIP:3000 / IMG

一切都會走到它自己到達的道路。

如果只想將gogs發出的連接發送到REALIP(我想從gogs發送的重定向來自REALIP),則可以設置另一個括號,這樣就可以:

server {
        listen REALIP:80 default_server;
        server_name devsrv;

        #this redirect to another server on port 80 works fine
        location / {
                proxy_pass http://REALIP:3000$request_uri;
        }
}

希望我能幫上忙。

暫無
暫無

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

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