达之的技术簿

在https反向代理下WordPress资源加载的问题

通过https网关方向代理到内部http协议的WEB服务,由于同源策略,导致WordPress有些资源无法加载,只需要在wp-config.php里配置启用https即可。

$_SERVER["HTTPS"] = "on";
$_SERVER["SERVER_PORT"] = 443;

也可根据请求情况进行配置。如,我使用frp进行内网穿透,故有如下配置:

// HTTP_X_FROM_WHERE是frpc客户端设置的
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || $_SERVER['HTTP_X_FROM_WHERE'] ?? null == 'frp') {
    $_SERVER["HTTPS"] = "on";
    $_SERVER["SERVER_PORT"] = 443;
}