【问题标题】:Https (SSL) issue with IIS and Wordpress reverse proxyIIS 和 Wordpress 反向代理的 HTTPS (SSL) 问题
【发布时间】:2021-01-03 20:22:58
【问题描述】:

我在 Ubuntu VM 上运行 WordPress 站点,作为面向 Internet 的 IIS Windows 服务器后面的反向代理(URL 重写)。该站点可以正常使用 HTTP。没有问题。

但是,HTTPS / SSL 配置存在一些问题。 SSL 证书附加到面向 Internet 的 Windows 服务器上 IIS 上的域名,而该站点由 Linux VM 提供服务。

将其更改为 https 后,如果我将 WordPress 设置页面中的站点 URL 从 HTTP 更改为 https,该站点将无法运行,并且我收到“重定向过多”或“页面未正确重定向”错误(在浏览器中)如果您打开开发者工具,您可以看到网站正在重新加载和循环,但屏幕上没有输出)。

如果我在设置中将 siteurl 保留为 HTTP 域(点)com,则站点加载和 PHP 工作,但浏览器没有加载脚本或 JS 文件,并且错误是“阻止通过 firefox HTTP 域加载混合活动内容( dot)com/some/script/CSS”,因为站点 URL 仍然是 HTTP 而不是 https。

我还尝试更改 .htaccess 和 wp-config 文件和功能页面中特定文件的站点 URL,并得到不同的错误。

【问题讨论】:

  • 重定向过多的原因是重定向后的URL仍然符合规则,导致循环判断重定向。所以请显示你的重写配置。混合活动内容是可以访问 HTTPS 页面的全部或部分文档对象模型的内容。这种类型的混合内容可能会改变 HTTPS 页面的行为,并可能窃取用户的敏感数据。
  • http 请求中的某些部分被视为活动内容。
  • 192.168.2.31{R:1}" />

标签: wordpress ssl iis https reverse-proxy


【解决方案1】:

您必须在 HTTPS 下在该 Ubuntu 虚拟机上运行 WordPress,才能摆脱无休止的 HTTP->HTTPS 重定向。

目前 WordPress 决定重定向,因为它检测到只有 HTTP 请求即将到来,

浏览器---HTTPS--> IIS ARR ---HTTP--> WordPress

如果你得到它只会停止重定向

浏览器---HTTPS--> IIS ARR ---HTTPS--> WordPress

【讨论】:

  • 感谢您的帮助。请问这个怎么配置?这是否意味着我在 wordpress 服务器上的 Apache.conf 中使用 *:443 创建了一个虚拟主机?我要附加什么作为 ssl 证书文件
【解决方案2】:

这很可能是由于 SSL 的终止。 WorldPress 不能很好地处理代理。所以你可能需要在 wp-config 文件中添加一些代码。

打开文件并找到:

define('WP_DEBUG', false);

添加:

if ( $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' )
{
   $_SERVER['HTTPS']       = 'on';
   $_SERVER['SERVER_PORT'] = 443;
}

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-11-13
    • 2018-01-05
    • 2013-08-28
    • 2021-11-08
    相关资源
    最近更新 更多