如何使网站支持https访问?nginx中配置https证书

购买SSL证书
要想使用https访问你的网址,首先得拥有颁发的SSL证书。我使用的是免费版,有效期为一年,过期后再重新申请。

申请SSL证书
购买后,可在搜索框输入证书关键字进入到控制台。

点击证书申请,按照提示填写完相关信息就会给你签发了。

证书下载
证书签发完成后如下图所示。点击下载。在右侧选择下载对应服务器的压缩包。

此处我的是nginx服务器,其他服务器类型自行选择

部署SSL证书
在已签发的证书列表中,点击部署,选择负债均衡,全选所有节点一键部署。

nginx配置https访问
- 将下载的证书压缩包解压出来,压缩包中有两个文件1234567_baidu.com.pem和1234567_baidu.com.key。
- 将上面的两个文件拷贝到服务器的/usr/local/nginx/ssl/路径下(拷贝到其他路径时,需修改4中的对应路径)
- 连接服务器的控制台,修改nginx的配置文件。vi /etc/nginx/nginx.conf
- 增加一个server监听
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.baidu.com;#对应域名
root /usr/share/nginx/html;
ssl on;
ssl_certificate "/usr/local/nginx/ssl/1234567_baidu.com.pem"; # 证书pem的文件目录
ssl_certificate_key "/usr/local/nginx/ssl/1234567_baidu.com.key"; # 证书key的文件目录
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
include /etc/nginx/default.d/*.conf;
error_page 500 502 503 504 /50x.html;
location = /50x.html
}
}
修改完成后执行 nginx -s reload重新加载nginx配置。
http自动请求到https访问网站
- 完成以上配置。输入https可以正常访问网站了,如果要将http请求的网站变成https,这里只需在nginx的配置中再增加一项。
- 修改nginx配置文件。vi /etc/nginx/nginx.conf
- 找到配置监听80端口的server,增加这行代码rewrite ^(.*) https://$host$1 permanent;
- 此时对http的请求已配置完了,不要忘了,修改完成后执行 nginx -s reload重新加载nginx配置。