wordpress - 如果来自 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 配置。
感谢你的帮助。
解决方案
这可能会帮助您:
在 wp-config.php 文件中编写以下代码将解决该问题。
if (isset($_SERVER["HTTP_X_FORWARDED_PROTO"] ) && "https" == $_SERVER["HTTP_X_FORWARDED_PROTO"] ) {
$_SERVER["HTTPS"] = "on";
}
推荐阅读
- c++ - 使用内存池中的自定义删除器将 std::unique_ptr 返回到抽象类型
- javascript - 如何使用本地图像作为嵌入 discord.js v13 的缩略图?
- javascript - 如何解析嵌套查询结果的一部分?(Javascript 和 MySQL)
- amazon-web-services - cmd:mlflow sagemaker build-and-push-container 给出 FileNotFoundError:
- python - 在列表中使用过滤器
- python - TesseractNotFound 错误:未安装 tesseract 或不在您的路径中
- json - 是否允许在自定义 JsonConverter 中更改 JsonSerializer 的某些设置?
- java - Java 堆空间问题 Openstack
- django - Django REST Framework:如何使 APIView/Serializer 可浏览?
- javascript - TypeError:无法读取未定义的属性(读取“类别”)