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

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
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于在华为云配置Nginx,你可以按照以下步骤进行操作: 1. 登录到华为云管理控制台:https://console.huaweicloud.com/ 2. 在控制台中,选择合适的区域和项目。 3. 在左侧导航栏中,选择"云服务器ECS"。 4. 在ECS服务页面,点击"创建云服务器"。 5. 在创建云服务器页面,选择适合你需求的实例规格、镜像和网络设置等。 6. 在"安全组规则"中,添加入站规则,允许HTTP(80端口)和HTTPS(443端口)访问。 7. 点击"下一步"并完成其他配置,然后点击"创建云服务器"。 8. 等待云服务器创建完成后,在ECS服务页面找到你的服务器实例,点击它的名称进入详情页面。 9. 在详情页面中,找到"管理登录密钥"部分,点击"创建密钥对"并下载私钥文件(通常为.pem格式)。 10. 打开终端或命令提示符窗口,在本地机器上通过SSH连接到云服务器: ``` ssh -i /path/to/private_key.pem root@<服务器公网IP> ``` (将 `/path/to/private_key.pem` 替换为你下载的私钥文件路径,`<服务器公网IP>` 替换为你的云服务器的公网IP地址) 11. 成功连接到服务器后,运行以下命令安装Nginx: ``` apt update apt install nginx ``` 12. 安装完成后,通过以下命令启动Nginx服务: ``` systemctl start nginx ``` 13. 验证Nginx是否正常运行,通过在浏览器中输入服务器的公网IP地址,应该能看到Nginx的默认欢迎页面。 14. 如果需要自定义Nginx配置,可以编辑 `/etc/nginx/nginx.conf` 文件或在 `/etc/nginx/conf.d/` 目录下创建新的配置文件,并重启Nginx服务以使配置生效。 这些步骤应该能帮助你在华为云上成功配置和运行Nginx。记得根据你的具体需求进行适当的配置调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值