.Net Core发布IIS服务器共用主站点域名
.NetCore发布IIS服务器共用主站点域名
如题,最近在研究ASP.NET迁移.NET Core收获良多,针对其中发布子站点共用主站点域名做个笔记。
首先,.NET Core要求程序连接池Application Pool是比较特殊如图:
此次.Net Core移植笔者共用到两个站点API和Client,需要新建两个Application Pool,供新建的两个子站点使用。
新建程序持如图:
step1:
step2:
两个程序池创建好以后,就可以分配给两个子站点,如图:
step1:
step2:
这样即可通过主站点域名访问子站点了。
补充说明
由于笔者的主站点是http协议的,但是发布过程中每次都会被重定向成https很是费解。后来终于了解到是由于创建项目时可选如图:
勾选此默认会把http重定向成https,让用户看起来好像是https协议的,就好比你访问了http://www.baidu.com会跳成https://www.baidu.com。
源码如图:
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } //app.UseHttpsRedirection(); //重定向https注释解君愁 app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=QRCodeRecruitment}/{action=Index}/{id?}"); }); }
补充说明第二点
由于是子站点,那么带来的问题就是路径问题,Client层Ajax请求总会访问:
主站点域名/Controller/Action
那么为了解决此问题也是煞费苦心,最终决定引入环境变量,判断是本地Debug还是部署环境,由全局变量进行拼接Url,拼接成:
主站点域名/子站点名/Controller/Action
补充说明三
第一次发布时笔者是蒙蔽的,直接Error页,(是由于HttpClient那里请求API路径配置没改成API子站点路径)这里有一个小技巧,就是当代码框架没来得及写Log时,可以先调试API,返回一个固定字符串,比如.Net Core API 自带的WeatherForecastController就很好,如果这个能访问,就证明API通了,自己页面访问不到就排除掉HttpClient访问不到API了,另外就是排除补充说明一二的情况,应该没什么了。
至于.Net Core 发布IIS请看这篇博客,此博主写的很高大上,笔者就是参考这篇文章发布的。
觉得有帮助就点个赞吧,笔芯
仅供学习参考,如有侵权联系我删除
- IIS服务器发布同一个IP多个域名多个网站
- 用IIS在本机虚拟一个域名发布站点(小技巧)
- 为什么发布Webservice到服务器上后,在服务器的IIS上右键站点浏览网页无法浏览
- windows IIS发布.net core网站的环境配置
- IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容
- 服务器 IIS 发布网站 支持下载 apk 和 ipa
- IIS 使用多域名或通配符证书配置多个站点
- 云服务器IIS新建站点及绑定域名图文教程
- [ASP.net教程]IIS服务器 远程发布(Web Deploy)配置
- 发布以NLog作为日记工具的ASP.NET站点到IIS注意事项
- net Core 2.0应用程序发布到IIS
- TMG学习(五),发布内网Web站点服务器
- Tomcat和IIS共用服务器80端口
- Apache服务器的搭建(2)--站点的发布及虚拟主机的制作
- IIS 发布站点常见问题
- 【胖鱼头】配置Maven站点并使用ssh发布到服务器
- Apache代理多个Tomcat共用80端口的配置方法(win7操作系统) k.o 微软IIS服务器代理Tomcat
- IIS发布站点连不上ORACLE数据库,但是调试状态可以?
- .Net发布到IIS服务器,IIS服务器配置
- 在windows 7下安装和设置IIS 发布Silverlight站点