无域控制器环境下Windows Server 2022 IIS部署.NET应用HTTPS证书配置
在无域环境下为Windows Server 2022 IIS配置自签名HTTPS证书
完全可行。你之前遇到的浏览器不信任问题,核心原因是自签名证书未被访问端的系统/浏览器加入受信任的根证书列表,只要完成证书的信任配置就能解决。以下是具体操作步骤:
一、在服务器上创建自签名证书
提供两种操作方式,按需选择:
方法1:通过IIS图形界面创建
- 打开IIS管理器,选中左侧的服务器节点,在右侧功能栏找到服务器证书并打开
- 点击右侧操作栏的创建自签名证书,输入证书友好名称(比如
MyAppHTTPSCert),证书存储选择个人,点击确定即可生成
方法2:通过PowerShell创建(支持指定访问用的域名/IP)
如果需要证书匹配你访问时用的服务器内网IP或主机名(比如192.168.1.100或server-local),用PowerShell命令更灵活:
New-SelfSignedCertificate -DnsName "server-local", "192.168.1.100" -CertStoreLocation "cert:\LocalMachine\My" -FriendlyName "MyAppHTTPSCert"
-DnsName参数填写所有可能用到的访问标识(主机名、IP),多个用逗号分隔- 证书会直接存入本地机器的个人证书存储
二、将证书绑定到IIS站点
- 回到IIS管理器,找到你的.NET应用所在站点,右键选择编辑绑定
- 在绑定窗口点击添加,类型选择HTTPS,端口默认用443(也可自定义),SSL证书下拉选择刚才创建的证书名称,点击确定
- 此时站点已开启HTTPS,但访问端会提示证书不被信任,需继续完成信任配置
三、导出服务器上的自签名证书
要让访问端信任该证书,需先导出为可导入的格式:
- 按Win+R打开运行,输入
certlm.msc打开本地计算机证书管理器 - 展开个人 > 证书,找到目标证书,右键选择所有任务 > 导出
- 在导出向导中选择不导出私钥,下一步;格式选择DER编码的二进制X.509(.CER),下一步
- 指定保存路径(比如桌面,文件名
MyAppRootCert.cer),完成导出
四、在访问端导入证书到信任根
Windows访问端(全局信任)
- 将导出的
.cer文件复制到访问端机器,双击打开证书 - 点击安装证书,选择本地计算机(需管理员权限),下一步
- 选择将所有证书放入下列存储,点击浏览,选中受信任的根证书颁发机构,确定后完成导入
- 重启浏览器后访问HTTPS地址,即可正常访问不再提示证书错误
浏览器单独导入(非全局信任,适合跨系统场景)
以Chrome为例:
- 打开Chrome设置,搜索管理证书进入证书管理界面
- 切换到受信任的根证书颁发机构标签,点击导入
- 选择导出的
.cer文件,按向导完成导入即可
注意事项
- 访问时使用的域名/IP必须和证书
DnsName参数中指定的一致,否则会出现域名不匹配错误 - 自签名证书仅适合本地/VPN内部网络使用,不建议用于公网环境
- 若服务器IP或主机名变更,需重新创建证书并重复上述绑定、信任配置步骤
内容的提问来源于stack exchange,提问作者HugoOlsen
相关产品推荐
相关产品推荐

