为什么SSL 443无法在IIS Express中用于Visual Studio Web项目的自定义域?

时间:2015-10-25 23:38:31

标签: asp.net visual-studio visual-studio-2013 iis-express

我使用IIS Express设置VS2013以使用自定义域,如下所示:

http://mydomain.local
https://mydomain.local

端口80 url工作得很好,端口443不工作(错误请求,页面无法显示,也就是站点不存在)。

为什么吗

显然,IIS Express正在努力使用此名称映射或使用端口443,但为什么?

对ApplicationHost.config:

  <site name="MyDomain" id="16">
      <application path="/" applicationPool="Clr4IntegratedAppPool">
          <virtualDirectory path="/" physicalPath="C:\Projects\MyDomain" />
      </application>
      <bindings>
          <binding protocol="http" bindingInformation="*:80:MyDomain.local" />
          <binding protocol="https" bindingInformation="*:443:MyDomain.local" />
      </bindings>
  </site>

托管文件:

127.0.0.1   MyDomain.local

VS项目属性:

启动网址,项目网址和覆盖应用程序根网址均为https://MyDomain.local

单击Create Virtual Directory会导致NO错误,因为它对applicationhosts.config中的配置感到满意。

注意:仅使用上述设置,http://mydomain.local(端口80)工作正常!

此外,查看项目节点上的属性窗口,所有设置都符合预期:

SSL Enabled: True
SSL URL:     https://mydomain.local 
URL:         http://mydomain.local

另外,在任务栏中查看IIS Express,它们分别按预期显示为443和80.

去忍者:

它不应该是必要的(似乎http://如何在不这样做的情况下工作),但为了确保URL已注册,我为此运行了netsh:

netsh http add urlacl url=https://MyDomain.local:443/ user=Everyone

这当然导致错误&#34; ...已经存在&#34;。那么我就跑了:

netstat -o
  TCP    127.0.0.1:80           mydomain:2063      ESTABLISHED     4
  TCP    127.0.0.1:2063         mydomain:http      ESTABLISHED     2276
  ...

我看到没有在443端口露营。不,Skype没有安装在这台机器上! (一个常见的问题)。

我完全失去了。有没有搞错?这不是火箭科学。

环境:

  • Windows 10
  • VS 2013 Update 5(以管理员身份运行)

其他信息:

我已经像疯了一样研究过这个。关于Stack Overflow和其他地方的许多文章。这里只是几个主要的:

Using Custom Domains With IIS Express

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

我已经尝试了我能看到的所有合乎逻辑的事情。对于我提出的问题,解决方法是设置我刚才描述的所有设置。由于这不起作用,它需要一个自己的帖子!

我错过了什么?

1 个答案:

答案 0 :(得分:2)

根据下面的链接博客,您需要将证书绑定到端口443. IIS Express已将端口44300到44399绑定到本地证书以进行本地https开发。

我还没有尝试过,但是(本节的底部)本博客显示了如何将端口443绑定到IISExpress用于端口44300到44399的现有本地证书。

Run IISExpress on port 443 using SSL and wildcard subdomains