Nignx服务器配置SSL证书访问HTTPS

本文介绍了如何在Nginx服务器上配置SSL证书,进而完成HTTPS协议的访问配置,来确保网站的安全性和数据传输的加密。SSL证书是一种数字证书,用于验证网站的身份并建立安全的HTTPS连接。以下是配置SSL证书的关键步骤,以及如何对HTTP连接进行301重定向自动跳转到HTTPS连接。

一、获取SSL证书

首先,需要获得有效的SSL证书。付费证书或使用免费的证书均可。我是腾讯云的服务器,在SSL证书模块里,可以直接下载。

下载好的压缩包包含如下几个文件:

image 3 - Nignx服务器配置SSL证书访问HTTPS

我们后面会用到的是.pem结尾的证书文件和对应的.key结尾的密钥文件。


二、存储证书文件

我们需要把证书文件保存在Nginx安装目录下,可以直接放到conf文件夹里面,我这里放到的是外面(下图的ssl文件夹)。

image 4 - Nignx服务器配置SSL证书访问HTTPS

三、修改Nginx配置

我们需要在conf\nginx.conf里增加配置:

1、增加https端口监听

配置443端口监听来自域名damon-liu.work的访问,如果访问来自于damon-liu.work域名,则转发请求到8081端口的项目。

	upstream damon{
		server localhost:8081;
	}

	server {
		#SSL 默认访问端口号为 443
		listen 443 ssl;
		#请填写绑定证书的域名
        server_name  damon-liu.work;
		#请填写证书文件的相对路径或绝对路径
		ssl_certificate ../ssl/damon/damon-liu.work_bundle.crt; 
		#请填写私钥文件的相对路径或绝对路径
		ssl_certificate_key ../ssl/damon/damon-liu.work.key; 
		ssl_session_timeout 5m;
		#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		#请按照以下协议配置
		ssl_protocols TLSv1.2 TLSv1.3;
		ssl_prefer_server_ciphers on; 
		 
        location / {
			proxy_pass http://damon;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	}

2、实现http到https的自动跳转(可选)

配置非HTTPS协议的域名访问自动跳转到HTTPS协议下。HTTP协议的域名访问的是默认80端口,那我们为80端口创造监听,转发到HTTPS协议的访问路径。

	server {
	 listen 80;
	 #请填写绑定证书的域名
	 server_name damon-liu.work;
	 #把http的域名请求转成https
	 return 301 https://damon-liu.work; 
	}

	server {
	 listen 80;
	 #请填写绑定证书的域名
	 server_name www.damon-liu.work;
	 #把http的域名请求转成https
	 return 301 https://damon-liu.work; 
	}
	
	server {
	 listen 443 ssl;
	 #请填写绑定证书的域名
	 server_name www.damon-liu.work;
	 #把http的域名请求转成https
	 return 301 https://damon-liu.work; 
	}

四、重启Nginx服务器,测试访问

浏览器输入http://damon-liu.work,看到自动变成https协议,并且转发到我们8081端口上的项目了。

image 5 - Nignx服务器配置SSL证书访问HTTPS
此条目发表在Nginx, Server分类目录,贴了, , , , 标签。将固定链接加入收藏夹。

发表回复