我将4个wordpress网站从一个主机移动到另一个主机(手动,db备份+文件夹传输),维护相同的配置( 80/443上的docker中的nginx代理管理器,444/https上的apache )。ssl在nginx (letsencrypt)上终止。
apache配置是相同的(虚拟主机配置被简单复制)。
4项工作中的3项,其中1项进入重定向循环(在任何配置中都没有发现尾随斜杠)。
编辑:对调查有什么帮助?我试着禁用插件(更改插件的文件夹名),禁用.htaccess文件(至少可以访问what ),在提供者dns配置中的apache / A/Cname配置中的db /served名称中更改站点名称/url,以了解是什么触发301重定向而没有任何效果。
实际上,apache日志是“移动”的,因此请求会到达nginx代理管理器,然后按应该的方式重定向到apache,但随后会发生重定向,出了问题。
有什么线索要调查吗?
发布于 2023-03-04 07:38:58
解决办法:
在配置apache以直接服务网站之后,我添加了nginx代理管理器。阅读了有关如何正确地为nginx和apache提供wordpress服务的最佳实践后,我找到了在nginx上终止ssl的解决方案,但仍然将apache留在ssl配置中(这避免了我在nginx和修改wordpress配置上设置头(如x转发-proto等))。
三个正在工作的wordpress实例仍然具有指向(未使用的、过期的)旧证书的letsencrypt配置。
最后一个(不起作用)没有实现。在apache vhost配置文件中添加三行缺失的行,启用letsencrypt配置,以及不再使用的证书(实际上过期和错误),可以防止重定向行为。
这有点奇怪:如果我应该在https端为apache服务,终止nginx上的ssl,那么为什么apache应该与自己的(甚至是假的)证书协同计算呢?如果我只在apache上启用ssl引擎而没有指定证书的路径,那么在重新加载时我会得到一个错误。
因此,我实际上要在nginx上终止ssl,让apache认为他有自己的证书,他永远不会使用这些证书。
https://webmasters.stackexchange.com/questions/141756
复制相似问题