最近一直在写前后端分离的项目。后端使用ASP.NET Core生成的服务器,运行时默认vs使用iis express运行调试。但是默认路径是https://localhost:44342
,(注:port可能不一样),如果自己测试,那么本机无所谓,但如果多人协作,后端在本机运行就显得有些尴尬。我希望在一台测试服务器上运行,其他前端直接连接。
修改项目中的配置
直接修改项目中的配置项,如图:
然后服务器直接起不来了。。。
修改IISExpress配置
网上查询后,基本很统一的方法,于是照着修改:
找到C:\Users\Administrator\Documents\IISExpress\config
路径下的applicationhost.config
文件,打开编辑,找到
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:8080:localhost" />
</bindings>
</site>
在<bindings>
中添加如下:
<binding protocol="http" bindingInformation="*:44341:192.168.1.7" />
<binding protocol="https" bindingInformation="*:44342:192.168.1.7" />
保存关闭,然后打开cmd/powershell,输入:
netsh http add urlacl url=http://192.168.1.7:44341 user=everyone
netsh http add urlacl url=https://192.168.1.7:44342 user=everyone
运行完毕后,重启IIS,管理员模式启动vs,运行Server。
网上的教程大致如上,然后就OK了,然后的然后,我就惊奇的发现,无论测试服务机还是其他电脑,一律503。。。有点抓狂。。。
修改工作目录下的.vs配置
最后,网上寻觅到了答案,不仅需要按照上面的修改,还需要修改工作目录下的.vs
文件夹中的配置文件。
找到.vs\Web Server\config\applicationhost.config
文件,打开编辑,里面的修改方法和上面一样,在site
节点的<bindings>
里同样添加如下两句:
<binding protocol="http" bindingInformation="*:44341:192.168.1.7" />
<binding protocol="https" bindingInformation="*:44342:192.168.1.7" />
这次,重启iis,管理员模式重启vs,一切真的OK了。。。
如图效果,http和https的模式都可以正常访问:
这样就可以愉快地和别人一起专注前端了。
文章评论