【Nginx+SSL】在华为云和腾讯云上配置Nginx+SSL,实现Http转Https

本文详细介绍了如何在华为云和腾讯云上下载SSL证书,并在Nginx服务器中配置SSL模块,实现从HTTP到HTTPS的安全转换。包括Nginx SSL模块的安装、证书上传、配置文件修改以及服务器的重启步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、 前言

本文分别在华为云和腾讯云服务器上为Nginx配置SSL证书加密。关于Ngnix的下载和安装及入门知识,可以查看这篇博客:【nginx】快速入门

0.1、 腾讯云证书下载

在腾讯云的SSL证书管理界面,点击如下图所示的SSL按钮,即可申请和下载证书。
在这里插入图片描述
申请成功后,点击下载证书,下载Nginx的版本。
在这里插入图片描述

下载完后解压,得到如下图如所示的4个文件,我们需要用到的是.key.pem后缀的文件。
在这里插入图片描述
为方便后续配置,将解压后的文件重命名为ssl.keyssl.pem

0.2 华为云证书下载

华为云的证书申请和下载和腾讯云基本一致。如下图所示,进行申请和下载Ngnix版本。

在这里插入图片描述

下载解压后,得到如下图所示的文件。
在这里插入图片描述
为方便后续配置,将文件分别重命名ssl.crtssl.key

1. Nginx的SSL模块安装

nginx的安装过程可以参考前言里面的连接。刚安装的nginx一般是没有自带ssl模块的。使用下面的命令可以查看ngnix是否安装了http_ssl_module模块。在这里插入代码片

/usr/local/nginx/sbin/nginx -V

如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 nginx.conf 配置)

配置ssl模块
进入nginx 的解压后的目录并重新进行安装设置

$ cd nginx-1.20.2
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module

使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。然后输入下面的命令,用新的 nginx 文件覆盖当前的 nginx 文件。

cp ./objs/nginx /usr/local/nginx/sbin/

再次查看安装的模块(configure arguments: –with-http_ssl_module说明ssl模块已安装)。

 /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.9
...
configure arguments: --with-http_ssl_module

2. SSL证书上传

在服务器nginx目录新建 cert 文件夹存放证书文件。

$ cd /usr/local/nginx
$ mkdir cert

将前言中的两个文件上传至服务器的/usr/local/nginx/cert目录下。如下图所示:(本人用的是FinalShell工具进行上传的)
在这里插入图片描述

3. Nginx的配置

3.1 华为云

编辑 /usr/local/nginx/conf/nginx.conf 配置文件:
配置 https server。注释掉之前的 http server 配置,新增 https server。并添加一个http server,将其定向到https

    # HTTPS server
	server {
		charset utf-8;
		# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
		listen       443 ssl;
		# 域名,多个以空格分开
		server_name  xxx.cn www.xxx.cn;
		
		# ssl证书地址
		ssl_certificate     /usr/local/nginx/cert/ssl.crt;  # pem文件的路径
		ssl_certificate_key  /usr/local/nginx/cert/ssl.key; # key文件的路径
		
		# ssl验证相关配置
		ssl_session_timeout  5m;    #缓存有效期
					
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    #加密算法
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    #安全链接可选的加密协议
		ssl_prefer_server_ciphers on;   #使用服务器端的首选算法

		location / {
			root   html;
			index  index.html index.htm;
		}
		
		location /wzh {
			alias /usr/local/wzh/docs/;
			index index.html;
		}
	}

	# http 重定向到 https
	server {
		listen       80;
		server_name  whut-wzh.com www.whut-wzh.com;
		return 301 https://$server_name$request_uri;
	}

3.2 腾讯云

编辑 /usr/local/nginx/conf/nginx.conf 配置文件:
配置 https server。注释掉之前的 http server 配置,新增 https server。并添加一个http server,将其定向到https


    # HTTPS server
	server {
		# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
		listen       443 ssl;
		# 域名,多个以空格分开
		server_name  xxx.com www.xxx.com;
		
		# ssl证书地址
		ssl_certificate     /usr/local/nginx/cert/ssl.pem;  # pem文件的路径
		ssl_certificate_key  /usr/local/nginx/cert/ssl.key; # key文件的路径
		
		# ssl验证相关配置
		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;
		}
	}


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

4. 重启nginx

先关闭nginx,然后再启动

/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值