作者:掩飾獨殇_389 | 来源:互联网 | 2023-02-01 14:42
我安装了phpMyAdmin docker镜像并使用
# 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 页面所示。
然后,我设置了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个代码,错误日志不存在。详细的日志可以在pastebin上找到。
我希望有人能够告诉我如何使Nginx用作phpMyAdmin docker容器的反向代理。
如果缺少一些重要信息,请告诉我。
1> 小智..:
确保包括重写:
location ~ \/pma {
rewrite ^/pma(/.*)$ $1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://localhost:8081;
}
您还需要在docker-compose.yml中设置PMA_ABSOLUTE_URI环境变量:
PMA_ABSOLUTE_URI: https://yourdomain.com/pma/
如果您运行的是docker phpmyadmin的4.6.5或更高版本,则应进行设置。要进行更新,您可以通过docker pull来获取最新信息。即
docker pull phpmyadmin/phpmyadmin