首页 > 解决方案 > wordpress 页面中的资产链接是如何建立的?移到 docker 后我得到的是 http 而不是 https

问题描述

我应该搬到 docker (docker-compose) 一个已经在 cPanel 中“正确”工作的 wordpress 网站。我说“正确”,因为“站点 url”和“wordpress 站点 url”都报告http://https.

在 cPanel 设置中,您可以访问httphttps任何内部链接jscss使用https. 移动到traefik负载均衡器后面的 docker 后,我得到所有链接都使用http. 这显然破坏了安全性,并且该站点无法使用。

建立资产链接的机制是什么?它是否使用了一些可以不同设置的变量?我的 docker 有 apache,我使用的是相同的 .htaccess(至少我使用的是 cPanel 备份中的内容......)。

如果我强制https/wp-admin将变得无法访问...目前 traefik 提供使用http和请求的正确资源https

编辑:添加

$_SERVER['HTTPS']='on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true); 

确实将大多数内部链接转到 https,但/wp-admin 变得无法访问(“您不允许访问该页面”)。例如,它/wp-includes/js/jquery/jquery.js通过 http 加载。

为什么任何提示受到赞赏...

标签: wordpressdockerdocker-composetraefik

解决方案


在您的 wordpress 中,一般设置将站点的 url 和 wordpress 的 url 都传递给 https,然后您将不得不使用插件或从 htaccess 强制使用,一旦您执行资产和其他文件,它仅使用 https 加载应该在 https 中加载


推荐阅读