我正在尝试使用 appcmd.exe 将网站添加到 IIS。
除了一个小错误,我几乎一切正常。
我使用的代码行是
add site /name:WEBSITENAME /bindings:https://HOSTNAME:10.100.213.121:443 /physicalpath:C:\inetpub\WEBSITENAME
当我执行此操作并查看 IIS 上的绑定(bind)时,除了我的 IP 地址显示为“*:10.100.213.121”(不包括引号)外,一切都正确
它在某处添加 *: 到它的开头。
这是在创建一个无效的绑定(bind)。
我只想将它保留在一个命令中
我知道我可以使用第二个命令来编辑网站绑定(bind),但如果我可以保留所有创建的网站,那将是理想的
最佳答案
可能是您的 bindings 参数存在语法问题,请注意这也表明了问题的答案:
根据reference documentation绑定(bind)参数可以通过以下格式传递:
/bindings:http/*:85: -- note single slash after protocol
您的示例表明使用了以下格式。
/bindings:http//*:85: -- note the extra forward slash after the protocol.
因此:
选项 1
将任务作为单个命令执行:
appcmd add site /name:WEBSITENAME /physicalpath:C:\inetpub\WEBSITENAME /bindings:https/10.100.213.121:443:
选项 2
将任务作为两阶段提交执行。
创建站点(您已经拥有的站点的变体减去绑定(bind)信息)
应用所需的绑定(bind)配置更改。
此示例中进行两阶段提交的原因是第二个命令要求站点在应用配置更改之前存在。
注意:这两个命令在命令行中用 & 分隔,因此它们可以作为一行运行。
appcmd add site /name:WEBSITENAME /physicalpath:C:\inetpub\WEBSITENAME & appcmd.exe set config -section:system.applicationHost/sites /+"[name='WEBSITENAME'].bindings.[protocol='https',bindingInformation='10.100.213.121:443:']" /commit:apphost
关于iis - 使用 appcmd 向 IIS 添加站点和绑定(bind)(使用主机名、端口和 IP 地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35091959/