[英]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.