公司最近生产环境的项目切换https, 但是有的项目影响到了项目本身,需要调查问题并解决后再切换。但是我们的测试环境不支持使用https,所以只能在本地搭建了https的访问环境。
具体应该怎么做呢,网上查了一下资料,零零散散,不够全面。在经过实践之后,特地整理了一下具体实现步骤。
一、证书生成过程(可参考https://www.cnblogs.com/programs/p/11043169.html)
1 安装 openssl
npm install openssl
2 建立私钥
openssl genrsa -des3 -out server.key 1024
3 生成证书
openssl req -new -key server.key -out server.csr
会依次输入相关信息,其中最重要的是Common Name,需要填写的是访问项目的https域名。
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
其中文件名称可以自定义,不一定要用server,也可以使用其他名称,如下文用了client。
二、搭建nginx服务器
1、安装brew。详细 https://brew.sh/
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
这个过程较慢, 请耐心等待。
2、通过brew安装nginx
brew install nginx
3、修改nginx.conf配置(官方文档:http://nginx.org/en/docs/beginners_guide.html)
brew info nginx
可以看到nginx的安装信息,找到nginx.conf文件,修改相关配置。
配置文件中找到https的配置区域,修改配置如下:
4、启动nginx服务
nginx -t
返回成功后再启动nginx:
nginx
如果想要停止:
nginx -s stop
5、通过https访问项目
直接在浏览器中访问https://www.test.com可以看到效果
当然这个过程中可能会遇到一些其他问题 ,但是基本的步骤如上,一般是可以正常实现的。