我有一个heckuva时间让这个工作。我按照以下说明进行了操作:
作为一个简单的测试,我试图将我的媒体目录(CSS,图像等)中的任何内容的请求代理到单独主机上的同一目录。这是配置:
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="^(media/.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://mystatichost/{R:1}" />
</rule>
</rules>
</rewrite>
在我的Default.master
中,我有一个像这样的图像标记:
<img src="/media/img/homepage.jpg" />
但是我一直在为该图片请求收到404错误。文件/media/img/homepage.jpg
肯定存在于mystatichost
上。我错过了什么/误解了什么?
答案 0 :(得分:0)
在我看来,你的正则表达式有些奇怪。
而不是GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(SERVER_CLIENT_ID)
.requestEmail()
.build();
,您应该使用<match url="^(media/.*)" />
。否则,您的匹配仅从URL字符串的开头开始,这永远不会起作用,因为它始终以<match url="(media/.*)" />
开头。
所以,简而言之,试试这个:
http
如果这不起作用,您对mystatichost的所有请求都需要HTTPS吗?
也许您可以删除<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(media/.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://mystatichost/{R:1}" />
</rule>
</rules>
</rewrite>
部分,然后设置<conditions>
。