在Azure应用程序网关后面访问Wordpress

时间:2018-11-12 17:32:14

标签: wordpress azure

我在Azure Web应用程序中托管了一个Wordpress网站。通过网络应用直接访问时,它可以正常工作。但是,当我将其放在Azure应用程序网关后面时,会收到“ Too_Many_Redirects”错误。

我在Application Gateway后面有另一个网站,它不是Wordpress,并且不会发生。

有人经历过吗? 是否有任何特定的设置或解决方法可以使这项工作正常进行?

编辑1 ----

应用程序网关配置:

  • 健康探针 Health Probe settings

    • HTTP设置 HTTP settings

    • 监听器 Listener settings

    • 后端池 Backend Pool settings

    • 规则 Rule settings

Web应用程序终结点在HTTPS中。

编辑2 ----

  • 后端健康 Backend Health

今天,我进行了许多测试,并找到了使之工作的方法,但并不能解决问题,而是创建了另一个方法。在Wordpress的“ SiteURL”和“主页”设置中,我没有使用所需的地址(自定义地址),而是使用了Azure Web App提供的默认地址。这样做,TOO_MANY_REDIRECTS错误消失了,但是我的网站链接更改为* .azurewebsites.net,这是一个大问题。

我用HTTPS和HTTP尝试了“家庭”地址。没有成功。

我刚刚发现,即使没有SSL,也会出现问题。仅适用于“ azurewebsites”地址,这会破坏我的链接。

3 个答案:

答案 0 :(得分:1)

您可以通过放置

来关闭Wordpress的重定向

remove_action('template_redirect', 'redirect_canonical');

wp_config.php文件末尾的

。对我而言,在Ubuntu 18.04上,它位于/ var / www / wordpress中。

我有一个类似的问题。请记住,我是新手。我必须使用Wordpress在Azure中配置Ubuntu 18.04虚拟机(VM)。我需要使用App Gateway路由来自计算机的流量。我正在使用Azure App Gateway v2。我的自定义域名指向应用程序网关的公共IP。在Ubuntu VM中,我安装了Apache,在apache配置文件中,我放置了DocumentRoot /var/www/wordpress以及用于https连接的所有其他设置。但是,通过此设置,Wordpress将我重定向到了专用IP,因此用户开始将其网址从www.XXXXX.com转到10.X.X.X。然后,我尝试将wordpress中的主机名切换为www.XXXXXX.com,但这使站点完全没有响应。最后,我使用该行禁用了Wordpress的重定向,现在它可以正常工作了。我可能设计不正确,因此请首先考虑其他解决方案。
edit:一些错字

答案 1 :(得分:0)

  1. 确保没有从应用程序网关设置的任何其他重定向。

  2. 您可以跟踪小提琴手,看看谁在扔301。

  3. 确保您已在WebApp上关闭了重定向和身份验证

  4. 您可能已在Wordpress网站上设置了重定向,只需查看一下即可。

我很确定这是WebApp,而不是Application网关。

答案 2 :(得分:0)

我终于解决了这个问题!我的初始配置有两个主要问题。

  1. 需要在整个过程中端到端使用HTTPS。因此,我必须在HTTP设置配置中使用HTTPS协议。在HTTP设置中使用HTTPS时,还需要具有HTTPS协议的运行状况探针。

  2. 后端池无法指向“应用程序服务”选项。相反,我使用了“ IP地址或FQDN”,并将网站地址放在名称字段中。当我指向“应用程序服务”选项并选择相应的Web应用程序时,它会尝试通过默认地址(* .azurewebsites.net)访问该Web应用程序,这是导致Wordpress将其重定向到自定义地址的原因,再次访问Application Gateway,依此类推。

修改这两个(三个)选项后,还需要重新配置“规则”设置。

这样做,不需要更改Web应用程序或Wordpress配置中的任何内容。