前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx学习日志(三)配置SSL证书(网站由http转成https)

Nginx学习日志(三)配置SSL证书(网站由http转成https)

作者头像
海加尔金鹰
发布2020-06-09 10:02:38
1K0
发布2020-06-09 10:02:38
举报

Nginx学习日志

Nginx学习日志(一)简单入门 Nginx学习日志(二)通过反向代理将不同域名映射到不同的端口

发现现在很多网站都变成了https,并且在浏览器当中如果是http类型的网站,还会提示网站不安全,所以打算将自己的博客换成https类型。 记录一下HTTP升级到HTTPS的过程。 网上看着很简单,但实际上还是遇到了不少的问题,不过还好,最终都一一解决了

什么是SSL证书?

SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。

参考资料: https://yq.aliyun.com/articles/602965 https://www.sohu.com/a/225956682_596521

如何获取免费的SSL证书?

11种免费获取SSL证书的方式: https://www.toolmao.com/get-free-ssl (一篇非常详细的文章) 由于我是使用的阿里云服务器,所以是通过阿里云当中获取的免费SSL证书。

nginx里面如何配置SSL证书?

由于我在阿里云服务器上的网站使用了Nginx,这里主要记录nginx的ssl证书配置过程。

配置过程

第一步: 将阿里云获取到的SSL证书下载下来。一般是两个文件:xxxx.pem 以及 xxxx.key 第二步: 在Nginx的安装目录下创建cert目录,并将下载的文件全部拷贝进去。 第三步: 修改nginx.conf配置信息 将原来的HTTP跳转重定向到https上面

代码语言:javascript
复制
    server { 
	listen 80; 
	server_name hjljy.cn,www.hjljy.cn; 
	location / { 
		return 301 https://www.hjljy.cn$request_uri;
		} 
	}

配置https的相关跳转

代码语言:javascript
复制
 server {
        listen       443 ssl;
        server_name  www.hjljy.cn;
		ssl on;
        ssl_certificate      ../cert/1864683_www.hjljy.cn.pem;   #注意这里    指定第二步当中拷贝的文件位置
        ssl_certificate_key  ../cert/1864683_www.hjljy.cn.key;
		ssl_session_timeout 5m;
 		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
 		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 		ssl_prefer_server_ciphers on;
        location / {
            	proxy_pass http://127.0.0.1:8081;   
        		proxy_set_header  Host $host:$server_port;
        		proxy_set_header  X-Real-IP  $remote_addr;
        	}
	}

第四步: 重启nginx 在安装目录bin下面输入:./nginx -s reload 报如下错误 因为安装nginx时未加载ssl模块 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:84 处理方式一:https://www.cnblogs.com/ghjbk/p/6744131.html 处理方式二:直接重新安装nginx 在安装时记得加载ssl模块支持。同时记得备份重要配置文件。 最后重启nginx就可以了。

问题总结

主要遇到了三个问题 第一个就是nginx未加载ssl模块报错的问题 第二个就是证书文件位置的问题 第三个花费时间最长,是属于自己的博客软件的问题。排查了很久才想到这个问题。 我使用的是solo博客软件 在软件初始化的时候,当时配置的网络地址是http类型的,导致在更换到https之后,部分静态资源无法获取到,存在资源降级的问题(就是开始是https的连接类型,然后里面有一些是http类型的连接,这部分的静态资源获取不到)。重新配置重启一下就好了。

参考资料

Nginx/Tengine服务器安装SSL证书


标题:Nginx学习日志(三)配置SSL证书(网站由http转成https) 作者:海加尔金鹰 地址:https://www.hjljy.cn/articles/2019/02/28/1551347168588.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx学习日志
  • 什么是SSL证书?
  • 如何获取免费的SSL证书?
  • nginx里面如何配置SSL证书?
    • 配置过程
    • 问题总结
    • 参考资料
    相关产品与服务
    SSL 证书
    腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档