我的本地开发机器上有我的站点mydomain.local,它使用本地主机文件条目指向127.0.0.1。该目录是我工作的git副本,它就像一个魅力。它总是指向我检查过的任何东西。
我想设置SSL,但当然需要在本地和我的代码之前进行测试,然后再在其他地方实现它。这是我的Win7 Ultimate机器,这个开发环境使用完整的IIS 7.5而不是任何内置的IIS express或localhost:port#auto-config。
通过多次实验,我使用SelfSSL7来更好地控制和设置自签名SSL证书。它有很多选项,似乎运作良好。
根据limited docs,我使用以下命令生成SelfSSL证书:
SelfSSL7 /Q /T /I "mydomain.local" /S "MyDomain IIS Name" /N cn=pc_name;cn=localhost;cn=mydomain.local
它使用正确的域正确绑定到我的IIS设置。但是当我尝试启动网站时,我收到此错误:
The process cannot access the file because it is being used by another process. (Exception 0x80070020)
我look up these errors并且我被指示检查哪些服务正在侦听端口443上的SSL。这是我的netstat -ano
输出(其中port == 443)的输出片段(我已经修剪了所有其他内容)
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 5800
TCP [::]:443 [::]:0 LISTENING 5800
问题是文档糟透了(惊喜),我不知道从哪里开始。他们指定的注册表路径实际上并没有在我的机器上退出(Regedit中没有ListenOnlyList文件夹)。此外,我有其他0个其他IIS站点设置,并且肯定没有在443上设置SSL。
摘要:可以生成SSL证书,看起来正确,但是一旦绑定到位,我就无法在IIS中启动该站点。再次,SSL看起来正确 - 也许更多关于我的机器配置关于端口443和“套接字池”(???)
答案 0 :(得分:2)
我遇到了同样的问题,在我的情况下,我刚刚停止了iis服务器,关闭了skype,并重新启动了服务器和Skype,它工作正常,似乎Skype正在使用端口443。
答案 1 :(得分:1)
看起来你已经有一个程序在端口443上侦听。使用任务管理器或进程资源管理器检查正在使用进程ID 5800运行的程序然后终止它。