http - nginx 反向代理 url 錯誤
問題描述
我在內網的機器A上用docker部署了一個jupyter notebook,其ip為10.11.11.10,服務端口號為8888,機器B可以通過部門二級域名(如child.testgroup.org)訪問其80端口的內容。
現在我在,B機的nginx上做反向代理,希望通過child.testgroup.org/notebook來訪問jupyter notebook。我的配置如下:
location /notebook/ {proxy_pass http://10.11.11.10:8888/;proxy_redirect off;proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'upgrade';}
但通過child.testgroup.org/notebook來訪問時總是出現url錯誤,如下圖:
jupyter notebook會跳轉到/tree這個目錄下,gitlab-ce會跳轉到/sign_in,本來希望url是child.testgroup.org/notebook/tree及child.testgroup.org/notebook/sign_in,但跳轉時,包括后續的ajax請求都不會自動加上/notebook/這一段,變成了child.testgroup.org/tree及child.testgroup.org/sign_in。
請大家幫忙看看怎么辦,是修改nginx配置還是需要其它的要素。
問題解答
回答1:proxy_pass后面加上/notebook/,并且希望child.testgroup.org/notebook可訪問,那location應該為/notebook
location /notebook {proxy_pass http://10.11.11.10:8888/notebook/;proxy_redirect off;...}
相關文章:
1. python - linux怎么在每天的凌晨2點執行一次這個log.py文件2. 關于mysql聯合查詢一對多的顯示結果問題3. 實現bing搜索工具urlAPI提交4. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)5. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。6. windows誤人子弟啊7. 冒昧問一下,我這php代碼哪里出錯了???8. 如何用筆記本上的apache做微信開發的服務器9. 我在網址中輸入localhost/abc.php顯示的是not found是為什么呢?10. mysql優化 - MySQL如何為配置表建立索引?
