【问题标题】:phpmyadmin in docker console errorsdocker 控制台中的 phpmyadmin 错误
【发布时间】:2021-03-25 01:46:28
【问题描述】:

我在同一个 docker 网络中有三台服务器 - mysql(本地主机上的 3306)nginx(80 443 端口)和 phpmyadmin(5000)。当我尝试访问 localhost:5000 上的 phpmyadmin 时 - 它的工作完美 phpmyadmin

但是当我在我的 nginx 服务器上使用反向代理时:

location /phpmyadmin {
    proxy_http_version 1.1;
    proxy_pass https://${PMA}:5000/;
}

出现白屏和 console.log 错误:

phpmyadmin:21 GET https://localhost/js/whitelist.php?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:15 GET https://localhost/js/vendor/codemirror/addon/lint/lint.css?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:14 GET https://localhost/js/vendor/codemirror/addon/hint/show-hint.css?v=5.0.4 net::ERR_ABORTED 404 (Not Found)
phpmyadmin:25 GET https://localhost/js/vendor/bootstrap/bootstrap.bundle.min.js?v=5.0.4 

.. 我该如何解决这个问题?

【问题讨论】:

    标签: docker nginx networking phpmyadmin reverse-proxy


    【解决方案1】:

    我了解 nginx 和 phpmyadmin 正在为 docker 服务。我使用以下配置,您可以使用容器 docker 网络网关 IP 更改 172.17.0.1。

    location /phpmyadmin {
        proxy_pass http://172.17.0.1:5000;
    }
    

    如果有防火墙,则必须检查允许互相访问docker容器的防火墙配置。

    iptables 规则:

    iptables -A INPUT -s 172.17.0.1/16 -j ACCEPT
    

    firewall-cmd 规则:

    firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.17.0.1/16 accept' --permanent
    firewall-cmd --reload
    

    【讨论】:

    • 谢谢我尝试检查文件墙,但它看起来像 nginx 容器在其内部搜索文件。 ${PMA} 用命令替换 IP 地址 = envsubst nginx.conf
    • 你试过添加phpmyadmin docker环境变量PMA_ABSOLUTE_URI=localhost/phpmyadmin
    • 已尝试,新的错误日志:未检查 runtime.lastError:消息端口在收到响应之前已关闭。 jquery.min.js?v=5.0.4:1 Uncaught SyntaxError: Unexpected token '
    猜你喜欢
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多