获取免费证书
- 配置本机模拟域名
打开如下目录,hosts
文件
C:\Windows\System32\drivers\etc
添加如下配置并保存
127.0.0.1 im.test.com
-
下载安装 OpenSSL
下载链接
-
进入bin目录, 打开cmd窗口
-
执行如下命令,生成RSA私钥
## 使用des3算法,1024位强度, 生成秘钥文件,名为server.key
openssl genrsa -des3 -out server.key 1024
- 生成CSR(证书签名请求)
openssl req -new -key server.key -out server.csr
执行后会出现如下界面
注意:
此处的Common Name项必须和上文中配置的模拟域名保持一致
- 删除私钥中的密码
openssl rsa -in server.key -out server.key
- 生成自签名证书,有效期365天
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
-
此时在 OpenSSL的安装目录下就会出现如下3个文件
-
将证书部署到nginx
在nginx 的conf目录下创建文件夹cert
,将刚才创建的3个证书文件复制到该目录下
-
查看本机IPV4地址
ipconfig
- 修改nginx.conf
server {listen 8090; # 监听8090端口server_name 192.168.137.1; # 本机Ipv4地址,只要是同一局域网都可以访问ssl on;#配置证书的路径ssl_certificate cert/server.crt;ssl_certificate_key cert/server.key;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;# 普通的https请求location / {#配置转发到本机真正服务端口8089proxy_pass http://192.168.137.1:8089;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Port $server_port;}# WebSocket 请求location /webSocket/ {proxy_pass http://192.168.137.1:8089;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}
- 进入nginx安装目录
刷新配置文件
nginx -s reload
关闭nginx
nginx -s stop
启动nginx
nginx
- 配置完毕
此时只需要让nginx转发到需要使用SSL证书的服务上即可,访问时,使用nginx监听的192.168.137.1:8090地址进行访问,nginx则会自动加载cert目录下的证书文件