https 全称:Hyper Text Transfer Protocol over Secure Socket Layer,是http的安全版。即http下加入SSL协议层,因此https的安全基础就是SSL,所以加密内容需要SSL。
配置过程首先需要申请一个证书,可以申请一个免费的。
如何申请
我是用的腾讯云,云产品-》域名与网站-》SSL证书管理
然后选免费版的,一般免费版有效期是一年,然后填各种信息,提交审核就好了,审核很快的,一个小时工作时间左右吧
审核成功后就可以在证书列表里下载证书了,下载出来是一个压缩包,里面有各种版本的证书:Apache、IIS、Nginx、Tomcat;
我们这里用到的是nginx版本证书,一个公钥,一个私钥。将其上传到服务器目录,我是传到了 /etc/pki/nginx 目录下,记住这个目录哦,待会配置的时候会用到
先确认nginx安装时已编译http_ssl模块,也就是执行 nginx -V 命令查看是否存在--with-http_ssl_module。一般都会有的,如果没有,则需要重新编译nginx将该模块加入。
修改Nginx配置
打开 Nginx 的默认配置文件 /etc/nginx/nginx.conf ,如何打开和编辑请参考上一篇文章《云服务器搭建 Nginx 静态网站》
打开后有两个server配置对象
第一个是监听80端口的,内容请参考如下伪代码:
server { listen 80; server_name 你的域名 你的域名; root /data/www(你nginx配置的静态资源目录); # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # 将http强制转https location / { rewrite (.*) https://www.你的域名$1 permanent; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }