欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何配置windows 10系统下的本地HTTPs开发环境

程序员文章站 2023-12-22 16:24:10
...

如何配置windows 10系统下的本地HTTPs开发环境

参考:https://zeropointdevelopment.com/how-to-get-https-working-in-windows-10-localhost-dev-environment/

自己创建证书颁发机构(CA),为自己的本地开发环境颁发证书,并使HTTPS在Windows 10中工作。

我从事很多电子商务和会员项目,在我的Windows 10本地机上开发,我需要测试网站的安全区域,如结账、付款表格和注册。

这些类型的表单都要求数据由使用HTTPS的SSL证书加密。

但是如何让HTTPS在Windows 10中工作呢?过程是什么?              

这是我在Windows上颁发证书的分步指南,以便您可以在HTTPS中运行本地开发站点。

Install OpenSSL

您首先需要的是OpenSSL的可执行文件。              

可执行文件未在Windows安装文件中分发,因此您必须手动查找并安装它。              

有一些有用的资源可从中获取文件:

Option 1 – Shining Light Productions

访问https://slproweb.com/products/Win32OpenSSL.html并下载“Win64 OpenSSL v1.1.1g”文件并运行安装程序。              

确保为OpenSSL选择的安装文件夹的“\bin\”文件夹已添加到系统路径环境变量中,因此可以从任何地方使用。

Option 2 – Git for Windows

OpenSSL可执行文件随Git for Windows一起分发。              

安装后,您将在“\Git\mingw64\bin”中找到openssl.exe文件,如果尚未安装,则可以将其添加到系统路径环境变量中。

在Windows 10中成为自己的证书颁发机构的三个步骤

在这些步骤中,您将创建一个根SSL证书,可以根据需要使用该证书对多个本地开发站点进行签名。            

 你只需要做第一部分一次。将根SSL添加到Windows 10后,可以跳过为所有新本地域颁发证书。

Step 1 – Create a Private Key

我们将创建一个名为rootSSL.key的私钥,用于颁发新的站点证书。 我使用Nginx web服务器,所以我在Nginx windows文件夹中创建了一个名为“SSL”的文件夹,这就是我要创建这个根**的地方。在管理员模式下打开命令提示符,并导航到nginx安装文件夹中新创建的SSL文件夹。

我的 Openssl.exe 安装在 C:\Program Files\OpenSSL-Win64\bin 运行Openssl.exe

如何配置windows 10系统下的本地HTTPs开发环境

如何配置windows 10系统下的本地HTTPs开发环境

 键入以下命令并输入私钥的密码。私钥的密码为:123456,输入的时候是看不到的。

genrsa -des3 -out rootSSL.key 2048

如何配置windows 10系统下的本地HTTPs开发环境

在当前目录下生成一个**文件:rootSSL.key

Step 2 – Create the Certificate File

在这一步中,我们将使用上一步中创建的私钥创建一个名为rootSSL.pem的证书文件。注意:您可以选择创建一个持续X天的证书文件。在本例中,我们将选择1024天,但您可以选择任何数量-越长越好。              

键入以下命令:

req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem

输入在步骤1中创建的根SSL**的密码。

  • 两个字母的国家代码:我用“CN”表示中国。              
  • 你的州或省:我用“guangdong”代表广东省。              
  • 你的城市:我用“shenzhen”代表深圳市。              
  • 一个组织名称:我使用“szhn”代表神州海纳。              
  • 一个组织单位的名字:我用“A3650”代表神州海纳的单位。              
  • 一个公共名称,如服务器名或完全限定的域名(FQDN):我使用“a3650.com”。              
  • 管理员电子邮件地址:我使用“aaa@qq.com”。 

如何配置windows 10系统下的本地HTTPs开发环境

您不必把合法信息放在这里,因为我们只在本地开发环境中运行SSL证书,只是希望正确地执行它。

Step 3 – Get Windows to Trust the Certificate Authority (CA)

我们将使用Microsoft管理控制台(MMC)来信任根SSL证书。

Step 1 – Press the Windows key + R

Step 2 – 输入 “MMC” 单击 “确认”

如何配置windows 10系统下的本地HTTPs开发环境

Step 3 – 选择菜单 “文件 > 增加/删除管理单元(M)”

如何配置windows 10系统下的本地HTTPs开发环境

Step 4 – 选择 “证书” 并 “添加”

如何配置windows 10系统下的本地HTTPs开发环境

Step 5 – 选择 “计算机账户(C)”  并  “下一步”

如何配置windows 10系统下的本地HTTPs开发环境

Step 6 – 选择 “本地计算机(运行此控制台的计算机)” 并  “完成”

如何配置windows 10系统下的本地HTTPs开发环境

Step 7 – 单击 “确定”返回到 MMC 界面

如何配置windows 10系统下的本地HTTPs开发环境

Step 8 – 双击 “证书 (本地计算)” 展开列表

如何配置windows 10系统下的本地HTTPs开发环境

Step 9 – 选择 “第三方根证书颁发机构”, 右击 “证书” 并选择 “所有任务” 中的 “导入”

如何配置windows 10系统下的本地HTTPs开发环境

Step 10 – 单击 “下一步” 并浏览选择 “rootSSL.pem” 文件,在前面 Step 2创建的根证书文件

如何配置windows 10系统下的本地HTTPs开发环境

如何配置windows 10系统下的本地HTTPs开发环境

Step 11 – 选择 “将所有的证书都放入下列存储” 并选择 “第三方根证书颁发机构”. 单击 “下一步” 直到完成向导。

如何配置windows 10系统下的本地HTTPs开发环境

如何配置windows 10系统下的本地HTTPs开发环境

浏览证书以在列表中查看您的证书。

如何配置windows 10系统下的本地HTTPs开发环境

 

现在您可以开始为所有本地域颁发SSL证书。

为本地域颁发证书

创建本地域站点

我不打算讨论在Nginx或任何你使用的web服务器上建立实际的站点。

第一步是创建一个本地域。              

您可以在C:\Windows\System32\drivers\etc\hosts文件中执行此操作。              

下面是一个hosts文件的示例。

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost
127.0.0.1 sslTest.local

 你可以看到我添加了一个“sslTest.local”域来指向我的本地IP地址127.0.0.1

所以“sslTest.local”是新的网站地址,我想在本地计算机上使用“https://sslTest.local”连接到它。              

让我们为这个新的本地域颁发证书。

为新域创建私钥 (Create a Private Key for the New Domain)

我们将创建一个名为“sslTest.local.key”的文件,其中包含该域的私钥信息。              

在同一个管理员命令窗口中,键入以下命令:

req -new -sha256 -nodes -out client-1.local.csr -newkey rsa:2048 -keyout sslTest.local.key -subj "/C=CN/ST=guangdong/L=shenzhen/O=A3650/OU=a3650.com/CN=sslTest/aaa@qq.com"

 如何配置windows 10系统下的本地HTTPs开发环境

 为自己的本地域颁发证书时,请用本地服务器域名替换“sslTest.local”。              

您还可以更改“-subj”参数以反映您的国家、省、位置等。

使用根SSL证书颁发新证书

在同一个管理员命令窗口中,键入以下命令:

x509 -req -in client-1.local.csr -CA rootSSL.pem -CAkey rootSSL.key -CAcreateserial -out sslTest.local.crt -days 500 -sha256 -extensions "authorityKeyIdentifier=keyid,issuer\n basicConstraints=CA:FALSE\n keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment\n  subjectAltName=DNS:sslTest.local"

如何配置windows 10系统下的本地HTTPs开发环境 

提示时输入根SSL证书的密码。

您可以看到我们创建的所有文件;“sslTest.local.crt”和“sslTest.local.key”是您将需要添加到本地开发站点的web服务器配置中的文件。

如何配置windows 10系统下的本地HTTPs开发环境

在Web服务器中使用新的本地域证书

此过程的最后一部分是将证书文件添加到sslTest.local的web服务器网站配置中。              

下面是在nginx服务器块中使用**的示例。              

找到nginx.conf文件,并在定义本地开发站点的服务器块中添加以下行:

重新启动nginx服务器以加载新配置,并在您喜爱的浏览器*问https://sslTest.local。

结论

让HTTPS在Windows 10中工作的过程有点烦琐我同意,但是,在我看来,能够使用自己的SSL证书在HTTPS上安全地运行本地开发站点是值得的。              

如果你使用的是WordPress,你现在可以强制网站使用HTTPS来提高安全性。

 

 

 

 

 

相关标签: Delphi

上一篇:

下一篇: