【ids4】IdentityServer4+API+Blazor部署到服务器,授权地址千万不要写localhost

废话

最近在部署问题上踩了大坑,记录一下

公司的一个小项目,IdentityServer4+API+Blazor,做了几天时间,终于到部署阶段

中间部署过程省略一万字…

记录各种问题:

【ids4】IdentityServer4报错,well-known/openid-configuration: HTTPS required

【IIS】.NetCore项目 Blazor 部署到IIS服务器的一些注意项,好多模块需要下载安装

【Windows】无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll

【ids4】三天解决一个Bug,心累啊,IdentityServer4部署到IIS,跨域问题?

正文开始

经过一个乱七八糟的部署过程,下载各种运行环境,各种模块

终于部署完成,访问网页时报错Failed to load resource: net::ERR_CONNECTION_REFUSED

在访问http://localhost:5601/.well-known/openid-configuration报的错

部署的端口设置是这样

5601是IdentityServer4项目的,项目名为xxx.ids

5602是API项目的,项目名为xxx.api

5603是Blazor项目的,项目名为xxx.web,为了方便下面介绍

分析

在这解决问题过程中,也在各种技术群问过,后面才知道有可能是配置的问题

在项目中通过配置文件appsetting.config来配置各种网址和端口

查看报错是在访问IdentityServer4时报错,由于在本地开发和测试过程中,地址都是写localhost,部署到服务器上也是没改

后面尝试着把地址改为服务器的IP地址,三个项目通通都改了

每个项目中都需要配置网址

ids项目需要配置web项目的部署网址,用于授权

api项目需要配置ids项目的部署网址,即授权地址

web项目需要配置ids项目和api项目的部署网址,用于授权和获取api资源

解决

经过了一段折磨,终于可以了

Authorization was successful.

经过了这次问题后,终于醒悟了,配置文件还是得分两个文件

两个配置文件,

一个是开发环境的配置

另一个是部署环境的配置

开发环境的配置网址写localhost

部署环境的配置网址写实际的网站IP

另外提一点,内部服务器不用部署https

部署https需要颁发证书,有点麻烦,弄了很久还是失败了

内部网使用直接部署http就好了

完成WC…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享