我安裝phpMyAdmin docker image與通過nginx的反向代理phpMyAdmin的搬運工容器內
# docker run --name phpmyadmin -d --link mariadb:db -p 8081:80 -e PMA_ABSOLUTE_URI=http://servm3/pma --restart unless-stopped phpmyadmin/phpmyadmin
訪問http://servm3:8081運行工作正常。變量PMA_ABSOLUTE_URI用於反向代理,如docker page所示。
然後,我設置了nginx(本地安裝,不在docker中)充當反向代理(適用於其他幾個應用,例如鱷梨醬)。
在我的nginx.conf我:
location /pma/ {
proxy_pass http://localhost:8081/;
proxy_buffering off;
}
訪問http://servm3/pma顯示在瀏覽器選項卡上的圖標,但不是登錄頁面僅顯示一個空白頁。卸下前面的「/」,然後重新啓動的nginx只給出了404
# docker logs phpmyadmin
說明不了什麼,除了從PHP和nginx的服務啓動信息,沒有相關的到phpMyAdmin。
本地nginx訪問日誌顯示幾個304和404代碼和一些200錯誤日誌不存在。詳細的日誌可以找到here on pastebin。
我希望有人能告訴我如何讓nginx作爲phpMyAdmin docker容器的反向代理工作。
如果缺少一些重要信息,請讓我知道。
afaik proxy_pass也從你的位置轉發上下文「pma」。您需要相應地重寫 – gamma
@gamma感謝您的提示。我搜索了一下,並嘗試「重寫/pma(.*)/ $ 1中斷;」但沒有成功。你有什麼提示重寫應該看起來像什麼嗎?作爲@robert表示: –
:刪除結尾的斜槓,然後嘗試:重寫^/pma(/ ?.*?)$ 1 break; – gamma