给你的阿里云网站加上HTTPS(Nginx)

今天突然心血来潮,看博客的HTTP不爽已经很久了,是时候改变裸奔的现状了

从阿里云获取免费的SSL证书

在阿里云控制台,找到安全(云盾)->SSL证书
在这里插入图片描述点击购买(不要钱的,不用怕)
在这里插入图片描述
选择单域名,DV SSL 免费版
在这里插入图片描述购买后在控制台提交审核,(服务器在阿里云的话审核很快)
审核完成后,点击下载证书,选择Nginx
你会看到阿里云官方给的帮助文档,挺有用的
在这里插入图片描述

部署SSL到Nginx

  • 首先在阿里云控制台开放你的443端口用于HTTPS请求 解压已下载保存到本地的Nginx证书压缩包文件

  • 解压后的文件夹中有2个文件:
    证书文件:以.pem为后缀或文件类型。
    密钥文件:以.key为后缀或文件类型。
    证书文件

  • 登录您的Nginx服务器,在Nginx安装目录(默认Nginx安装目录为/usr/local/nginx/conf,我的在etc/nginx目录,就是你配置文件所在的目录)下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。

说明 如果您在申请证书时选择手动创建CSR文件,请将对应的密钥文件放到cert目录中,并命名为domain name.key。
修改Nginx安装目录/conf/nginx.conf文件。

修改Nginx配置

server {
	listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
	server_name localhost;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
	root html;
	index index.html index.htm;
	ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
	ssl_certificate_key cert/domain name.key;   #将domain name.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 / {
	root html;   #站点目录。
	index index.html index.htm;   
	}
}     

你已经完成了配置,重新载入Nginx配置文件即可

非常重要!!(危)Nginx方向代理的后端适配

配置了HTTPS的域,要求所有的请求都是HTTPS的类型,若Ajax等使用的是Http请求,将被拦截!!

设置网站默认访问Https

修改配置文件中的isten 443 ssl为

listen       443 ssl default_server;
listen       [::]:443 default_server;

猜你喜欢

转载自blog.csdn.net/weixin_44494373/article/details/107272887