【发布时间】:2019-06-08 11:36:11
【问题描述】:
我在使用 Wordpress 并在反向代理之后运行它时遇到问题。我已经本地化了这个问题,它是这里提出的问题的解决方案: Modifying headers with IIS7 Application Request Routing
在我在上面接受的解决方案中应用命令之前,我无法访问网站上的任何链接,并且收到了太多重定向错误。 打开保留原始主机标头的选项解决了这些问题。但在我不再能够编辑单个页面之后,它不会加载并返回 ERR_CONNECTION_RESET 错误。
由于这发生在我应用上面的命令之后,我再次关闭它进行了测试,现在它又可以工作了。可以预见的是,其他错误也会返回。所以我在这里陷入了僵局。任何人都知道为什么打开此选项后连接会突然重置?
重置的 URL 如下所示: http://www.siteurl.com/wp-admin/post.php?post=19&action=edit
这是反向代理站点的 web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://192.168.111.15:8080/{R:1}" />
<serverVariables>
<set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="[HTTP_ACCEPT_ENCODING]" />
<set name="HTTP_ACCEPT_ENCODING" value="eee" />
</serverVariables>
</rule>
</rules>
<outboundRules>
<rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml2">
<match filterByTags="A, Form, Img" pattern="^http(s)?://192.168.111.15:8080/(.*)" />
<action type="Rewrite" value="http{R:1}://www.siteurl.com/{R:2}" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml2">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
<add input="{HTTP_HOST}" pattern="siteurl.com" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
【问题讨论】:
-
试图进一步缩小范围,它似乎与 AJAX 相关。但我对此并不明智。
-
我已经用一个新的数据库重新安装了 worpress,现在它似乎可以工作了。所以这似乎是一个 wordpress 问题,而不是 IIS 或 Windows 问题。编辑:说得太早了,反正有些东西是行不通的。