要解决 Caddy2 和 nginx 之间的混合内容问题,必须使用 HTTPS 终止,以便将所有流量强制转换为 HTTPS。
这可以通过在 Caddy2 中设置以下指令来实现:
# 将所有流量强制转换为 HTTPS
redir https://{host}{uri}
确保 Caddy2 配置文件中的这些指令位于要代理请求的域块之前。例如:
# 为 example.com 配置 HTTPS 终止
example.com {
redir https://{host}{uri}
}
# 将请求代理到 nginx 上运行的 WordPress
proxy / localhost:8080 {
header_upstream Host {host}
}
此外,还需要在 nginx 配置中启用 proxy_ssl_server_name
指令,以确保将正确的服务器名称发送到 WordPress 应用程序。
例如,在 nginx 配置文件中添加以下指令:
# 在 nginx 中启用 proxy_ssl_server_name
proxy_ssl_server_name on;
完成这些更改后,重新启动 Caddy2 和 nginx 服务,然后刷新 WordPress 页面。混合内容问题应该已得到解决。
Was this helpful?
0 / 0