通过 Powershell 将代理元素添加到 system.webServer 部分的 applicationHost.config

Add proxy element to applicationHost.config in system.webServer section via Powershell

我正在尝试在 system.webServer 部分下添加 <proxy enabled="true" /> 元素。

Add-WebConfigurationProperty -Filter '/system.webServer/proxy' -Name . -Value @{ enabled="true" }

上面的命令什么都不做。

Add-WebConfigurationProperty -Filter '/system.webServer' -Name 'proxy' -Value @{ enabled="true" }

以上命令抛出错误:Property proxy is not found on system.webServer

Add-WebConfiguration -Filter '/system.webServer/proxy' -Value @{ enabled="true" }

也什么都不做。

Set-WebConfigurationProperty -Filter '/system.webServer/proxy' -Name 'enabled' -Value 'true'

显示警告:Target configuration object '/system.webServer/proxy is not found at path 'MACHINE/WEBROOT/APPHOST'.

我发现这些命令非常违反直觉。添加新元素的正确方法是什么?

编辑:

我在 Windows 2019 Core 上使用默认 IIS 10.0

测试这些命令

我有 Windows Server 2012 R2 with IIS 8.5

我可以在 Win2012 上使用命令 appcmd set config -section:system.webServer/proxy /enabled:"true" /commit:apphost 设置代理,但同样的命令在 Win2019 上不起作用。它显示错误 Unknown config section "system.webServer/proxy". 因此,此设置可能对 IIS 10.0

无效

首先你需要确保ARR已经像Lex Li说的那样安装了。

那就试试这个powershell命令,在我的服务器2019上可以正常运行。

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.webServer/proxy" -name "enabled" -value "True"