欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx配置Https协议的SSL证书及Http重定向自动跳转到Https

程序员文章站 2022-04-30 22:48:26
...

笔者用的是阿里云的服务器和免费证书

首先 需要去阿里云的SSL证书管理控制台下载SSL证书

Nginx配置Https协议的SSL证书及Http重定向自动跳转到Https

然后 把证书解压 里面有两个文件 一个key 一个pem

Nginx配置Https协议的SSL证书及Http重定向自动跳转到Https

传到Nginx的conf目录下的cert目录(该目录是不存在的 需要自己创建)

修改nginx.conf的配置

根据自己的实际情况进行配置

server {
	listen 443 ssl;   #SSL协议访问端口号为443 此处若未添加ssl可能会导致Nginx无法启动
	server_name localhost;  #将localhost修改为证书绑定的域名 www.xxx.com
	root html;
	index index.html index.htm;
	ssl_certificate cert/name.pem;   #将name.pem替换成证书的文件名
	ssl_certificate_key cert/name.key;   #将dname.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配置Https协议的SSL证书及Http重定向自动跳转到Https
若还是访问不了 须在服务器中开启443端口


Http自动跳转到Https

还是在nginx.conf配置文件中
再添加一个server:

server
{
	listen 80;
	server_name www.test.com;
	return 301 https://$server_name$request_uri;
}

最终效果:

server
{
	listen 80;
	server_name www.test.com;
	return 301 https://$server_name$request_uri;
}

server
{
	listen 443 ssl; #监听端口
	
	server_name www.test.com; #域名
	
	ssl_certificate cert/test.pem;   #将domain name.pem替换成您证书的文件名。
	ssl_certificate_key cert/test.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;
	其余省略...
}

关于这个重定向 查了很多资料 rewrite和return 301都没用 都会显示此网页包含过多的重定向
就这个能用