将网站域名访问从http升级到https(腾讯云/阿里云)

文章目录

  • 1.前提说明
  • 2.服务器安装 docker 与 nginx
    • 2.1 安装 docker
      • 🍀 基于 centos 的安装
      • 🍀 基于ubuntu
    • 2.2 配置阿里云国内加速器
      • 🍀 找到相应页面
      • 🍀 创建 docker 目录
      • 🍀 创建 daemon.json 文件
      • 🍀 重新加载服务配置文件
      • 🍀 重启 docker 引擎
    • 2.3 安装 nginx
      • 🍀 创建文件夹
      • 🍀 创建 nginx 配置文件
      • 🍀 创建 nginx
  • 3.免费 SSL 证书申请
    • 3.1 SSL 证书概述
    • 3.2 将想绑定证书的域名加入 DNS 解析
    • 3.3 提交证书申请
      • 🍀 定位控制台
      • 🍀 开始申请免费证书
      • 🍀 提交证书申请
    • 3.4 验证域名
      • 🍀 在服务器上创建验证文件
      • 🍀 验证域名所属权
      • 🍀 审核通过
  • 4.https 网站部署
    • 4.1 证书上传到服务器
      • 🍀 证书下载
      • 🍀 修改文件名
      • 🍀 上传到服务器
    • 4.2 修改 nginx.conf 配置文件
    • 4.3 添加 index.html
    • 4.4 测试 https
  • 5.总结
    • 5.1 你可能遇到的问题
    • 5.2 静态网站的部署

1.前提说明

这里我以在 腾讯云 的操作为例进行演示,对域名 note.zhulang.love 进行 https 升级访问,每一步操作均以文字、截图或与代码形式进行了说明。

我们需要准备:

  • 一台腾讯云服务器,为了方便,建议你把防火墙所有端口开放(至少保证 80 与 443 端口的开放)
  • 拥有自己的域名,并且已经完成了备案

关于网站部署,本文中我会在服务器使用 docker 安装 nginx 1.24,并在 nginx 中安装 SSL 证书,同时我会写一个简单的 index.html 模拟我们的网站。

2.服务器安装 docker 与 nginx

2.1 安装 docker

🍀 基于 centos 的安装

  1. 安装yum-utils

    sudo yum install -y yum-utils
    
  2. 从国内服务器上下载docker

    sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 安装docker

    sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
  4. 验证是否成功

    sudo docker --version
    

🍀 基于ubuntu

  1. 安装需要的包

    sudo apt-get update
    
  2. 安装依赖包,选择 y

    sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common
    
  3. 添加 阿里 GPG 密钥

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
  4. 设置远程仓库

    sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"
    
  5. 安装 Docker-CE

    sudo apt-get update# 选择 y
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    
  6. 验证是否成功

    sudo docker --version
    

2.2 配置阿里云国内加速器

国内镜像中心常用的为阿里云与网易云,选择其中一个加速器进行配置即可,这里我们选择使用阿里云加速器。在本地 Docker 中指定要使用的国内加速器地址后,就可以直接从国内镜像中心下载镜像了。

🍀 找到相应页面

若要配置阿里云加速器,必须首先要有阿里云的账号。登录阿里云后,打开阿里云的容器镜像服务页面,然后找到如下页面,可以查看到你的 registry-mirrors

image-20231008171636964

🍀 创建 docker 目录

sudo mkdir -p /etc/docker

🍀 创建 daemon.json 文件

注意,该 json 数据中的 URL 地址是与用户登录账号绑定的,不同的用户所生成的地址是不同的。

sudo vim /etc/docker/daemon.json

将你的阿里云账号的 registry-mirrors 替换以下的值,放入 daemon.json 中:

{"registry-mirrors": ["https://********.mirror.aliyuncs.com"]
}

🍀 重新加载服务配置文件

sudo systemctl daemon-reload

🍀 重启 docker 引擎

sudo systemctl restart docker

2.3 安装 nginx

🍀 创建文件夹

# 创建 nginx 用于数据卷的文件夹与存放用于验证域名获取 SSL 证书的文件
sudo mkdir -p /app/nginx/html/.well-known/pki-validation/# 创建用于存放 ssl 证书的文件夹
sudo mkdir /app/nginx/ssl# 添加权限,方便上传网站项目
sudo chmod 777 /app/nginx/html# 添加权限,方便上传 ssl 证书
sudo chmod 777 /app/nginx/ssl

🍀 创建 nginx 配置文件

# 这个 nginx 文件的配置只是临时的,用于验证域名以申请 SSL 证书
sudo vim /app/nginx/nginx.conf
#user  root;
error_log  /var/log/nginx/error.log notice;
worker_processes  1;pid        /var/run/nginx.pid;events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;gzip	on;gzip_types	application/javascript; server {listen       80;# 可进行域名绑定server_name  localhost;location / {root   html;index  index.html index.htm;}}
}

🍀 创建 nginx

sudo docker run \
--name nginx \
-v /app/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /app/nginx/html:/etc/nginx/html \
-v /app/nginx/ssl:/etc/nginx/ssl \
-p 443:443 \
-p 80:80 \
-d nginx:1.24
# 验证创建并运行成功
sudo docker ps

3.免费 SSL 证书申请

3.1 SSL 证书概述

SSL 证书(SSL Certificates)提供了安全套接层(SSL)证书的一站式服务,包括证书申请、管理及部署功能,与顶级的数字证书授权(CA)机构和代理商合作,为您的网站、移动应用提供 HTTPS 解决方案。

个人账号原来最多只能申请20张免费证书,现在个人账号最多可申请50张免费证书(其中20张免费证书支持绑定全网域名,30张免费证书可绑定腾讯云域名)。

3.2 将想绑定证书的域名加入 DNS 解析

🏠 我的解析 - 云解析 DNS - 控制台 (tencent.com)

💭 这里我想绑定的域名是 note.zhulang.love

image-20231009143349689

image-20231009143749738

3.3 提交证书申请

🍀 定位控制台

🏠 我的证书 - SSL 证书 - 控制台 (tencent.com)

如果你从未申请过,那么显示应该如下图:

image-20230413094046314

如果你申请过,那么显示应该如下图:

image-20231008164310798

🍀 开始申请免费证书

image-20230413094259474

image-20231008164422868

🍀 提交证书申请

image-20231009142651234

3.4 验证域名

image-20231009161548900

🍀 在服务器上创建验证文件

# 你需要修改 E16F38EDEA0071179D4B78CBE5E55B6E.txt 为上图中你的文件名
sudo vim /app/nginx/html/.well-known/pki-validation/E16F38EDEA0071179D4B78CBE5E55B6E.txt

文件内容放入到 E16F38EDEA0071179D4B78CBE5E55B6E.txt 文件中,我这里是:

0BE098CC9804A183E3E95E82F215DE3501F4FFF30950F518A366874A8EB601E0
trust-provider.com
cmcdtcvpl0q5ln

🍀 验证域名所属权

image-20231009180216677

🍀 审核通过

image-20231009180343484

image-20231009180504695

4.https 网站部署

4.1 证书上传到服务器

🍀 证书下载

image-20231009180743766

image-20231009180826102

image-20231009181119444

红色框框中的两个文件 .key.crt 是我们需要上传到服务器的。

🍀 修改文件名

为了方便演示,我们将需要上传的服务器的 .key.crt 文件分别重命名为 ssl.keyssl.crt

image-20231009181416484

🍀 上传到服务器

我们将 ssl.keyssl.crt 都上传到 /app/nginx/ssl 目录下。

image-20231009181730843

4.2 修改 nginx.conf 配置文件

# 先直接删除原来的 nginx.conf
sudo rm /app/nginx/nginx.conf# 创建新的
sudo vim /app/nginx/nginx.conf

下面是 nginx.conf 的内容,你只需要修改一下两个 server 块中的 server_name 的值为你自己申请的域名即可。

#user  root;
error_log  			/var/log/nginx/error.log warn; 	# 错误日志路径和日志级别
worker_processes 	auto;   						# Nginx工作进程数,通常设置为CPU核数
pid        			/var/run/nginx.pid;# 定义事件模块
events {worker_connections 	1024;	# 每个工作进程最大并发连接数use 				epoll; 	# 使用epoll网络模型,提高性能multi_accept 		on; 	# 开启支持多个连接同时建立
}# 定义HTTP服务器模块
http {# 定义MIME类型include       		mime.types;default_type  		application/octet-stream;sendfile        	on;keepalive_timeout  	65;gzip  				on; # 启用压缩,可以提高网站访问速度gzip_min_length 	1k; # 最小压缩文件大小gzip_types 			text/plain text/css application/json application/javascript application/xml; # 被压缩的类型server {listen 80;# 将 server_name 的值修改为你自己的域名 ******************************server_name 				note.zhulang.love;rewrite ^(.*) https://$server_name$1 permanent; # 如果是 http 请求,则永久重定向到 https 请求}server {listen 						443 ssl;  # 1.1 版本后这样写# 将 server_name 的值修改为你自己的域名 ******************************server_name 				note.zhulang.love;ssl_certificate      		/etc/nginx/ssl/ssl.crt;ssl_certificate_key  		/etc/nginx/ssl/ssl.key;ssl_session_cache			shared:SSL:1m; # 加密访问缓存设置,可以大大提高访问速度ssl_session_timeout 		10m;ssl_protocols 				TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers 				HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers 	on;fastcgi_param  				HTTPS        on;fastcgi_param  				HTTP_SCHEME  https;location / {root   html;index index.html index.htm;}}
}

4.3 添加 index.html

为了方便测试,我们在 /app/nginx/html 文件夹下添加一个 index.html 文件:

sudo vim /app/nginx/html/index.html

index.html 文件内容:

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>Document</title>
</head><body>欢迎访问<a href="https://www.zhulang.love" target="_blank" style="color: green;">狐狸半面添的客栈</a>,持续的实战开发技术分享与编程指南。
</body></html>

4.4 测试 https

我们先将 nginx 服务器重启:

sudo docker restart nginx

然后使用 https 访问你自己的域名,我这里就是访问:https://note.zhulang.love

image-20231010015320612

5.总结

5.1 你可能遇到的问题

如果你使用 https 进行访问遇到:

b965b63fb3c9a9fdd64aa74219703a1

那么请检查你的服务器防火墙是否将 443 端口开放,当然,也请把 80 端口开放。

5.2 静态网站的部署

你只需要将你的静态项目文件放置在 /app/nginx/html 目录下即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/155502.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请求和响应的概述

请求&#xff1a;在浏览器地址栏输入地址&#xff0c;点击回车请求服务器&#xff0c;这个过程就是一个请求过程。 响应&#xff1a;服务器根据浏览器发送的请求&#xff0c;返回数据到浏览器在网页上进行显示&#xff0c;这个过程就称之为响应。 针对Servlet的每次请求&…

4、在 CentOS 8 系统上安装 pgAdmin 4

pgAdmin 4 是一个开源的数据库管理工具&#xff0c;专门用于管理和操作 PostgreSQL 数据库系统。它提供了一个图形用户界面&#xff08;GUI&#xff09;&#xff0c;使用户能够轻松地连接到 PostgreSQL 数据库实例&#xff0c;执行 SQL 查询&#xff0c;管理数据库对象&#xf…

【ccf-csp题解】第7次csp认证-第三题-路径解析超详细题解-字符串模拟

本题思路来源于acwing ccfcsp认证课 题目描述 思路分析 首先&#xff0c;为了处理路径中的反斜杠符号&#xff0c;我们可以实现一个get函数&#xff0c;把一个路径中每一对反斜杠之间的内容存到vector<string>中&#xff0c;如果有连续的多个反斜杠则只看成一个 举个例…

集成学习的小九九

集成学习&#xff08;Ensemble Learning&#xff09;是一种机器学习的方法&#xff0c;通过结合多个基本模型的预测结果来进行决策或预测。集成学习的目标是通过组合多个模型的优势&#xff0c;并弥补单个模型的不足&#xff0c;从而提高整体性能。 集成学习的主要策略 在集成…

后厂村路灯在线签名网站,在线签名工具,IPA在线签名

IPA在线签名工具网站&#xff0c;在线实现IPA包签名 案例网站&#xff1a;在线签名 - 后厂村路灯https://sign.vx365.vip/ 用户可以自定义签名网站样式。 用户可以独立部署到自己服务器&#xff0c;使用自己的域名。 用户可以使用自己服务器&#xff0c;加快签名速度&#xf…

Java架构师缓存通用设计方案

目录 1 采用多级缓存2 缓存数据尽量前移3 静态化4 数据平衡策略5 jvm缓存的问题6 redis存放数据解决7 redis垂直拆分8 总结1 采用多级缓存 对于高性能的缓存设计呢,咱们前面按照专题详细去进行的讲解。那咱们现在结合着咱们实际的应用呢,再来确定一下咱们怎么去做这个高性能的…

关键词搜索1688商品列表数据接口,1688商品列表数据接口

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取1688网站上的商品页面。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#xff0c;1688网站…

如何在 Spring Boot 中实现容错机制

在 Spring Boot 中实现容错机制 容错机制是构建健壮和可靠的应用程序的重要组成部分。它可以帮助应用程序在面对异常或故障时保持稳定运行。Spring Boot提供了多种机制来实现容错&#xff0c;包括异常处理、断路器、重试和降级等。本文将介绍如何在Spring Boot中实现这些容错机…

大模型的超级“外脑”——向量数据库解决大模型的三大挑战

随着AI大模型产品及应用呈现爆发式增长,新的AI时代已经到来。向量数据库可与大语言模型配合使用,解决大模型落地过程中的痛点,已成为企业数据处理和应用大模型的必选项。在近日举行的华为全联接大会2023期间,华为云正式发布GaussDB向量数据库。GaussDB向量数据库基于GaussD…

TensorFlow入门(十八、激活函数)

激活函数是什么? 单个神经元的网络模型: 用计算公式表达如下: 即在神经元中,输入的x通过与权重w相乘,与偏置量b求和后,还被作用了一个函数,这个函数就是激活函数。 激活函数的作用 如果没有激活函数,整个神经元模型就是一个简单的线性方程。而在现实生活中,线性方程能解决的事…

广告牌安全监测,保障户外广告牌的安全与稳定

随着城市的发展和现代化&#xff0c;广告牌已经成为城市风景的一部分。然而&#xff0c;随之而来的是广告牌安全问题&#xff0c;因为它们暴露在各种天气和环境条件下&#xff0c;一旦掉落&#xff0c;可能对人们的生命和财产造成威胁。广告牌安全监测有效的解决了这一问题&…

Vue之VueX知识探索(一起了解关于VueX的新世界)

目录 前言 一、VueX简介 1. 什么是VueX 2. VueX的作用及重要性 3. VueX的应用场景 二、VueX的使用准备工作 1. 下载安装VueX 2. vuex获取值以及改变值 2.1 创建所需示例 2.2 将创建好的.vue文件页面显示 2.3 创建VueX的相关文件 2.4 配置VueX四个js文件 2.5 加载到vue示…

记录用命令行将项目打包成war包

记录用命令行将项目打包成war包 找到项目的pom.xml 在当前路径下进入cmd 输入命令 mvn clean package 发现报错了 Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project MMS: Error assembling WAR: webxml attribute is req…

Vuex存值取值与异步请求处理

目录 前言 一、Vuex简介 1.Vuex是什么 2.Vuex的核心概念 3.使用Vuex的好处 4.Vuex执行流程 二、Vuex的使用步骤 1.安装Vuex 2.创建store模块&#xff0c;分别维护state/actions/mutations/getters 3.使用Vuex存储值&#xff0c;获取值和改变值 1.state.js---存值 2.…

VRRP 虚拟路由器冗余协议的解析和配置

VRRP的解析 个人简介 原理和HSRP的差不多&#xff0c;少了一些状态就只有了三种状态 还有不同的就是VRRP严格按照抢占要求 一个VRRP组中具有最高优先级的设备成为Master路由器缺省优先级为100若优先级相同&#xff0c;具有最高接口IP地址最大的路由器成为Master路由器抢占(Pr…

Spring5应用之事务属性

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言事务…

手写Spring系列【一】IOC的简单实现笔记

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final&#xff0c;一名热爱技术的在校学生。 &#x1f4dd;个人主页&#xff1a;个人主页1 || 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;项目专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;…

docker 的数据管理

docker 容器中数据主要有两种方式 数据卷&#xff08; Data Volumes &#xff09; 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录往载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数据不会影响镜像&#xff0c;从而实现…

【RabbitMQ 实战】11 队列的结构和惰性队列

一、 队列的结构 队列的组成&#xff1a; 队列由 rabbit_amgqueue_process 和 backing_queue两部分组成。rabbit_amqqueue_process负责协议相关的消息处理&#xff0c;即接收生产者发布的消息、向消费者交付消息、处理消息的确认 (包括生产端的 confirm 和消费端的 ack) 等。…

Java架构师部署架构设计

目录 1 导学2 部署架构设计和部署架构图2.1 服务器数量和配置2.2 服务器软件配置2.3 网络环境设计2.4 部署架构图2.5 部署说明文档2.6 部署清单2.7 画部署架构图3 实战整体部署架构设计4 节点部署说明列表5 总结1 导学 本章的主要内容是整体架构设计的核心之一,部署架构设计相…