首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SSL 443不能在IIS Express中用于项目的自定义域?

问为什么SSL 443不能在IIS Express中用于项目的自定义域?
EN

Stack Overflow用户
提问于 2015-10-25 23:38:30
回答 1查看 4.2K关注 0票数 3

将VS2013设置为使用自定义域,如下所示:

代码语言:javascript
复制
http://mydomain.local
https://mydomain.local

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

为什么?

显然,IIS很难用这个名称映射或使用端口443,但为什么呢?

applicationhost.config:

代码语言:javascript
复制
  <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>

主机文件:

代码语言:javascript
复制
127.0.0.1   MyDomain.local

与项目属性:

Start Url、Project和覆盖应用程序根Url都是https://MyDomain.local。

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

注意:仅用上述设置,http://mydomain.local (端口80)就可以工作了!

此外,查看项目节点上的“属性”窗口,所有设置都如预期的那样:

代码语言:javascript
复制
SSL Enabled: True
SSL URL:     https://mydomain.local 
URL:         http://mydomain.local

另外,查看任务栏中的IIS,它们将分别显示为443和80。

Going Ninja:

这不应该是必要的(看上去http://在没有这样做的情况下是如何工作的),但是我运行netsh只是为了确保URL是注册的:

代码语言:javascript
复制
netsh http add urlacl url=https://MyDomain.local:443/ user=Everyone

这当然会导致一个错误“.已经存在”。所以我跑了:

代码语言:javascript
复制
netstat -o
  TCP    127.0.0.1:80           mydomain:2063      ESTABLISHED     4
  TCP    127.0.0.1:2063         mydomain:http      ESTABLISHED     2276
  ...

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

我完全不知所措。什么鬼东西?这不是火箭科学。

Environment:

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

其他信息:

我疯狂地研究过这件事。关于Stack溢出和其他地方的许多文章。这里有几个主要的几个:

将自定义域与IIS Express一起使用

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

我已经试过了我能看到的一切都是合乎逻辑的。对于我提出的问题,决议是设置我刚才描述的所有设置。因为这不起作用,它需要一个自己的职位!

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 00:31:17

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

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

使用SSL和通配符子域在端口443上运行IISExpress

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33336370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档