首页 > 解决方案 > 如果来自 Cloudfront 的 HTTPS 请求,Wordpress HTTPS 不起作用

问题描述

我的网站托管在 AWS 上并使用 Cloudfront,其中所有 HTTPS 事务都将在 CloudFront 级别完成。

<?php echo $_SERVER['SERVER_PORT']; ?>

当我检查端口时,它返回 80,因为 SSL 未在 443 端口上配置。

Wordpress 配置为检查 HTTPS 端口 443,因此即使在将站点 URL 和管理 URL 更改为 https 后,该站点也不会将资产(js、css)的 URL 更改为 https。只有在检测到 443 端口时才会更改为 https。

目前,我们已经尝试了所有可能的解决方案,从更改站点和管理 URL、将 DB 中的 HTTP 替换为 HTTPS、htaccess 解决方案。有没有办法更改 WordPress 配置。

感谢你的帮助。

标签: wordpressamazon-web-serviceshttpsamazon-cloudfront

解决方案


这可能会帮助您:

在 wp-config.php 文件中编写以下代码将解决该问题。

if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"] ) && "https" == $_SERVER["HTTP_X_FORWARDED_PROTO"] ) {
$_SERVER["HTTPS"] = "on";
}

推荐阅读