2
問:如何使用基本身份驗證將Apache 2.4配置爲Portainer的反向代理?使用Apache 2.4在Docker容器中運行Portainer mod_proxy和基本身份驗證
Portainer是一個用於管理Docker容器的UI。 Portainer文檔有一個示例nginx configuration,但不幸的是沒有用於Apache。
問:如何使用基本身份驗證將Apache 2.4配置爲Portainer的反向代理?使用Apache 2.4在Docker容器中運行Portainer mod_proxy和基本身份驗證
Portainer是一個用於管理Docker容器的UI。 Portainer文檔有一個示例nginx configuration,但不幸的是沒有用於Apache。
答:你需要用flag --no-auth啓動Portainer並使用mod_proxy_wstunnel。
開始Portainer與--no-auth。 我用下面的碼頭工人撰寫文件:
portainer:
image: portainer/portainer
container_name: "portainer-app"
privileged: true
command: --no-auth
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /srv/docker/portainer/data:/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
TZ: "Europe/Berlin"
配置基本身份驗證爲你的Apache域。 啓用mod_proxy_wstunnel。 添加以下配置:
<Location /portainer/>
ProxyPass http://localhost:9000/
ProxyPassReverse http://localhost:9000/
RequestHeader set Connection ""
</Location>
<Location /portainer/api/websocket/>
RequestHeader set Upgrade $http_upgrade;
RequestHeader set Connection "upgrade"
ProxyPass ws://localhost:9000/api/websocket/
</Location>
這些設置大多是爲我工作,但不幸的是,我無法在Portainer使用控制檯功能。當試圖使用控制檯時,我的apache日誌吐出以下錯誤: AH01144:沒有協議處理程序對URL/portainer/api/websocket/exec有效。如果您使用的是mod_proxy的DSO版本,請確保代理子模塊包含在使用LoadModule的配置中。 任何想法? – Bryce