搭建本地https

生成证书

1. 使用openssl生成密钥privkey.pem:

openssl genrsa -out privkey.pem 1024/2038

2. 使用密钥生成证书server.pem:

openssl req -new -x509 -key privkey.pem -out server.pem -days 365

证书信息可以随便填或者留空,只有Common Name要根据你的域名填写。

以我的个人网站为例
Common Name (e.g. server FQDN or YOUR name) []: wuyanxin.com

也可以通过*.yourdomain.com来匹配你的二级域名

配置nginx

server {
    listen 443;
  server_name youdomain.com;

  ssl on;
    ssl_certificate /path/to/server.pem;
    ssl_certificate_key /path/to/privkey.pem;
  
  ...
}
复制代码

3) 修改配置并保存后,Nginx安装目录运行nginx.exe -s reload命令可重启Nginx使配置生效。
4) 通过https:\\xxxx.com方式访问你的网站,如果能够正常访问,浏览器左边出现绿色的标记或者出现锁的标记那就成功了。

几点注意事项:
1. 如果HTTPS方式访问网站出现无响应的情况,可以看看自己的服务器防火墙配置,是不是需要将443端口加到例外中去;
2. 注意自己xxx.pemxxx.key的存放路径,区分相对路径和决定路径使用方式;
3. 通过Nginx安装目录下的logs文件夹中的access.logerror.log日志文件来进行排错;
4. 同一个Nginx可以配置多个HTTPS的域名,只需要将上面443端口的监听配置复制一份加到配置文件中,然后修改好相应的server_namexxx.pemxxx.key文件路径即可。

补充一点配置:
如果Nginx配置了HTTPS,那背后的Tomcat就没有必要再进行配置了,另外,为了兼容原来80端口的HTTP方式的访问,可以将80端口的访问请求全部转发到443端口上,增加配置如下:

server {
    listen       80;
    server_name  your-domain.com;

    location = / {
        rewrite ^(.*) https://your-domain.com/$1 permanent;
    }

    location / {
        rewrite ^(.*) https://your-domain.com/$1 permanent;
    }
}复制代码

验证配置,重启nginx

  $ sudo nginx -t && sudo nginx -s reload
复制代码

信任证书

这时访问你的站点会得到一个不安全提示,因为你的证书不是一个有效的证书颁发机构颁发的。
这时需要我们手动信任证书。

1 点击地址栏前面的红色感叹号,再点击“详细信息”

2 点击“View certification”

3 将上图中的证书拖拽到桌面,会在桌面生成一个“wuyanxin.com.cer”文件

4 双击打开,并输入密码

5 在列表中找到你的证书,双击打开

Paste_Image.png
6 将证书改为“始终信任”,然后关闭窗口,输入密码

7 刷新页面,你将获得一个绿色小锁(valid HTTPS)

参考链接:https://www.jianshu.com/p/d047872b40b8




转载于:https://juejin.im/post/5b52c7786fb9a04faa79a3b0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值