前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自建https站点本地测试,如何生成https证书,localhost https测试时提示"此站点不安全"如何解决

自建https站点本地测试,如何生成https证书,localhost https测试时提示"此站点不安全"如何解决

原创
作者头像
Windows技术交流
修改2024-06-21 15:42:51
3120
修改2024-06-21 15:42:51
举报
文章被收录于专栏:Windows技术交流Windows技术交流

背景:我用choco安装openssl的时候发现下载https://slproweb.com/download/Win64OpenSSL-3_3_1.exe老失败

代码语言:javascript
复制
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

choco install OpenSSL -y
#choco install OpenSSL -y
#choco install OpenSSL -y

slproweb.com在海外,下载超级慢,无奈我照着URL,在本地配了自签名证书的https站点,在网络好的地方下载好文件,然后在本地自建自签名https站点,造出这个URL,瞬间download完成,走完choco install OpenSSL -y安装过程。

下面说下配置https的过程:

1、一句Powershell配置IIS,我是高版本server系统(不是2008R2/win7这种老掉牙的)

代码语言:txt
复制
Get-WindowsFeature -Name NET-*, Web-* | where {$_.Name -notmatch "Ftp|Web-Application-Proxy"} | Install-WindowsFeature

2、找台有openssl的机器,用openssl签发证书,注意替换命令中的域名

代码语言:txt
复制
第一步:执行命令后,回车输密码123456
openssl req -x509 -newkey rsa:4096 -keyout c:\key.pem -out c:\cert.pem -days 365 -subj "/CN=slproweb.com" 

第二步:命令中的密码要跟上步输的密码一致
openssl pkcs12 -export -out c:\slproweb.pfx -inkey c:\key.pem -in c:\cert.pem -passin pass:123456 -password pass:123456

第三步:配置hosts
127.0.0.1 slproweb.com

3、在本地安装(双击)上步生成的.pfx文件

4、在IIS中导入.pfx

5、配置完成后重启iis并浏览https

6、如果不搞域名,就把localhost当域名呢?当然可以,只不过localhost证书需要特殊手法签发

安装.net运行时

https://learn.microsoft.com/zh-cn/dotnet/core/install/windows#net-installer

https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0 下载安装程序

或者用Powershell脚本安装运行时也可以

https://dotnet.microsoft.com/zh-cn/download/dotnet/scripts

安装行以后,打开CMD或Powershell输入:dotnet

已安装 ASP.NET Core HTTPS 开发证书。

若要信任该证书,请运行 "dotnet dev-certs https --trust" (仅限 Windows 和 macOS)。

代码语言:txt
复制
遥测
---------
.NET 工具会收集用法数据,帮助我们改善你的体验。它由 Microsoft 收集并与社区共享。你可通过使用喜欢的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 "1" 或 "true" 来选择退出遥测。

阅读有关 .NET CLI 工具遥测的更多信息: https://aka.ms/dotnet-cli-telemetry

----------------
已安装 ASP.NET Core HTTPS 开发证书。
若要信任该证书,请运行 "dotnet dev-certs https --trust" (仅限 Windows 和 macOS)。
了解 HTTPS: https://aka.ms/dotnet-https
----------------
编写你的第一个应用: https://aka.ms/dotnet-hello-world
查找新增功能: https://aka.ms/dotnet-whats-new
浏览文档: https://aka.ms/dotnet-docs
在 GitHub 上报告问题和查找源: https://github.com/dotnet/core
使用 "dotnet --help" 查看可用命令或访问: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
代码语言:txt
复制
dotnet dev-certs https --clean
dotnet dev-certs https --trust

执行这2句命令后,证书其实是安装到系统里了

dotnet dev-certs https --clean是卸载localhost证书

dotnet dev-certs https --trust是安装localhost证书

上图第5步的.pfx并不是现成的,而是在上面dotnet dev-certs https --cleandotnet dev-certs https --trust两句命令安装上localhost证书后,运行certmgr.msc命令导出的.pfx,具体步骤如下:

运行certmgr.msc命令打开证书管理器如下图操作

代码语言:txt
复制
在受信任的根证书颁发机构、个人,这2个下面都有localhost,我们在个人下面找到localhost→ 右键→ 所有任务→ 导出

密码简单点,我一般123456

有了localhost.pfx后,就按上面自签发证书第4步那个在IIS中导入.pfx并验证https://localhost/效果

如果没有按我说的那2句命令处理,那么,你在访问https://localhost/时会提示此站点不安全,当然,这只是测试,倒无所谓,要正规的话,在测试阶段按我前面介绍的那种自签发证书来测试,不要用localhost。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档