【发布时间】:2018-08-08 13:50:01
【问题描述】:
如何为不同的 Azure 插槽设置不同的 Web.config 文件。
我在同一个网站上有一个登台和生产槽我不希望登台槽公开(它仅用于测试等),所以我通过 web.config 文件为该槽设置了身份验证。
问题是,当我上传更改时,生产槽获取与暂存槽相同的 web.config 文件,该文件设置为仅允许通过身份验证访问,而且参数不同,因此生产槽最终无法访问,我必须在生产槽中手动更改 web.config 文件才能使其工作。
我想用某种方法为生产槽定义不同的 web.config 文件。
更新(向问题添加更多信息):
我正在使用本地机器进行测试(使用本地服务器),即开发环境。
这些网站在 wordpress 中(wordpress 使用 php)。
暂存槽仅供少数人使用,未连接到我的本地局域网,当我有选择地希望他们在将东西发送到生产之前测试我的网站(不同的操作系统、不同的平台、不同的手机......) .当我不使用暂存槽时,我可以停止它,这样生产资源不会受到影响。
我已经将 AppSettings 用于不同的连接字符串和参数。我不知道如何使用它来定义不同的身份验证设置..?我在 web.config 文件中有身份验证设置(由暂存槽使用)。
我的 web.config 文件:
<configuration>
<system.web>
<authorization>
<allow users="foo@gmail.com, foo2@foo2.com, foo3@gmail.com"/>
<deny users="*"/>
</authorization>
</system.web>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress: http://contoso.azurewebsites.net" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
【问题讨论】:
标签: azure