【问题标题】:There is mismatch between HTTPS indicated on the server and client服务器和客户端上指示的 HTTPS 不匹配
【发布时间】:2019-11-01 11:28:23
【问题描述】:

这是我打开 phpMyAdmin 的登录(索引)页面时的警告:

There is mismatch between HTTPS indicated on the server and client.
This can lead to non working phpMyAdmin or a security risk.
Please fix your server configuration to indicate HTTPS properly.

该错误应该是由我的客户端和 phpmyadmin 本身之间的负载平衡器引起的。 SSL 在负载均衡器上终止,因此正在使用的 URL(我假设 phpmyadmin 在请求标头中收到)是https://mydomain/phpmyadmin

负载均衡器通过 http 与 phpmyadmin 通信,因此 lb 和 pma 之间使用的 URL 是 http://mydomain/phpmyadmin(不是 https)。

我在 github 上找到了这篇非常合适的文章:Possibility to deactivate SSL connection #170,它适用于 Docker 容器,并描述了要传递给名为“PMA_ABSOLUTE_URI”的容器以解决问题的 env var。

phpmyadmin NON Docker 中的哪个设置?

我的问题的任何其他解决方案也非常感谢。

旁注: Phpmyadmin 登录后工作正常。您可以登录,登录后没有警告,您可以毫无问题地执行所有交互。我只是担心这个警告。

【问题讨论】:

    标签: php apache phpmyadmin


    【解决方案1】:

    我的设置与您描述的完全相同。前端负载均衡器充当反向代理以及 SSL/TLS 终结器。 LB 以纯 http 方式与运行 phpMyAdmin 的后端服务器对话。

    当我从 4.0.4.1 升级到 4.9.0.1 时,phpMyAdmin 登录屏幕上出现了与您相同的警告。我能够通过将协议从http“伪造”到https来在反向代理上解决这个问题。在我的情况下,我的反向代理是 Nginx Web 服务器,就在我传递到后端服务器之前,我添加了 X-Forwarded-Proto:

     server {
      listen 443;
      server_name my.phpmyadmin.example.com;
    
    [... log and ssl settings ...]
    
      location / {
        include /etc/nginx/proxy.conf;
        proxy_set_header X-Forwarded-Proto https;
        proxy_pass http://backendserver;
      }
    }
    

    通过添加proxy_set_header X-Forwarded-Proto https;,这告诉后端服务器客户端到代理通信是通过https进行的。如果不设置此标头,phpMyAdmin 可能会识别(不确定,只是猜测)它是在 https:// URL 上加载的,但通信(反向代理和 phpMyAdmin 服务器之间)是通过 http 进行的。因此,这是一个正确的警告。

    一旦重新加载 Nginx,警告就会从 phpMyAdmin 登录屏幕中消失。

    【讨论】:

    • 我明白了,很有趣。我会看看我是否可以尝试一下(因为负载均衡器不在我的控制之下,很可能不是 nginx,而是一些企业级怪物),但我会让主机知道,看看我们是否可以完成。感谢您的提示!
    • @Worp 通常反向代理(开源、企业或其他)应该能够添加 HTTP 标头。在这种特殊情况下,这将是 X-Forwarded-Proto: https 标头。
    • 太棒了,谢谢。当通过 Nginx 反向代理在 Docker 上运行 PMA 时,这就像一个魅力。
    • proxy_set_header X-Forwarded-Proto $scheme; 会相应地处理 http 或 https。
    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 2020-06-26
    • 1970-01-01
    相关资源
    最近更新 更多