我在这里和谷歌上进行了大量搜索,但未能找到解决我的问题的方法。
简而言之,我在运行的测试 Web 服务器上安装了一个自签名 SSL 证书IIS6/Windows Server 2003。自签名 SSL 证书是使用IIS6 工具。
如果我访问 https//mywebsite.com,我会收到“非真实 SSL 证书”警告消息,我只需单击“继续”即可正常工作。(自签名 SSL 的正常行为)。
这对 HTML 有效,但对 PHP 无效,phpinfo 显示https = 关闭。顺便说一下,我正在运行 PHP 5.2.17。
奇怪的是,在生产服务器中,我对同一个应用程序进行了完全相同的设置,唯一的区别是,在该服务器上我安装了合法的 SSL 证书,并且 php 信息显示https = 开启。
因此我开始思考以下几点:
A) php 不会检测自签名 ssl 证书,这是正确的吗?
B) 我忽略了一些明显的东西,我可以检查什么东西?
谢谢!
答案1
如果您的 php 安装在为客户端提供 https 服务的(代理或其他)盒子上,那么就客户端而言,他们正在使用 https;就代理盒子而言,它正在为客户端提供 https 服务并通过 http 向服务器发出请求;就 php(在服务器上)而言,它正在查看来自客户端(代理盒子)的 http 流量。一些托管服务提供商这样做是为了方便。