iis - 使用 appcmd 向 IIS 添加站点和绑定(bind)(使用主机名、端口和 IP 地址)

标签 iis cmd appcmd

我正在尝试使用 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

将任务作为两阶段提交执行。

  1. 创建站点(您已经拥有的站点的变体减去绑定(bind)信息)

  2. 应用所需的绑定(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

Additional Documentation

关于iis - 使用 appcmd 向 IIS 添加站点和绑定(bind)(使用主机名、端口和 IP 地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35091959/

相关文章:

iis-7 - 如何使用 appcmd 或其他 util 在 Windows 2008 上使用站点名称查找 IIS7 SiteID?

iis - 如何使用appcmd.exe在IIS上为每个站点设置环境变量?

c# - ASP.net Webservice *.asmx 访问与 WCF 服务引用

c# - 尝试访问 ASP.NET Web App 项目上的本地主机时出现 ERR_CONNECTION_RESET

javascript - asp.net javascript .click() 事件未在服务器上触发

mysql - 对 Mysql 的批量循环调用不起作用

windows - Sublime Text 2 - 在当前或项目目录 (Windows) 打开 CMD 提示符

java - 设置System.setOut();到命令提示符

c# - WebApi 中的异步方法导致 IIS ExecuteRequestHandler 挂起

appcmd.exe 'set' 和 'list' 命令用于服务身份验证问题