asp.net 如何在web.config中设置允许的服务器变量而不是applicationHost.config?

llew8vvj  于 2023-04-08  发布在  .NET
关注(0)|答案(1)|浏览(193)

我在IIS 10上运行一个非核心的ASP dotnet应用程序。
我正在根据以下配置为负载均衡器后面的https配置重写规则:https://www.jamescrowley.net/2014/03/07/ssl-termination-and-secure-cookiesrequiressl-with-asp-net-forms-authentication/
这是我困惑的部分:
您还需要将HTTPS添加到applicationHost.config中的allowedServerVariables列表中(或通过URLRewriteconfig)

<rewrite>
    <allowedServerVariables>
        <add name="HTTPS" />
    </allowedServerVariables>
</rewrite>

“或通过URL重写配置”似乎表明这可以在web.config中设置。
我不想将这个变量添加到全局applicationHost.config文件中,我想在我的特定应用程序web.config中设置它。
我把<allowedServerVariables>放在web.config的哪里?我试着把它放在配置代码段中的重写规则下,但我得到一个错误:

ldioqlga

ldioqlga1#

在您的web.config中尝试:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>           
            <rules>
                <rule name="RULE_NAME">
                    <serverVariables>
                        <set name="SOME_NAME" value="{SOME_VALUE}"/>
                    </serverVariables>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

前一段时间我从https://github.com/projectkudu/kudu/wiki/Xdt-transform-samples得到了这个例子
在您的示例中:

<rule name="HTTPS_AlwaysOn" patternSyntax="Wildcard">
        <match url="*" />
        <serverVariables>
            <set name="HTTPS" value="on" />
        </serverVariables>
        ...

相关问题