博客的部署方法论

有了域名后,可以方便其他人记住并访问,历史上不乏大企业花大价钱购买域名的:

  • 京东域名换成 JD.com,并且说是为了防止百度吸引流量,为什么?
  • 唯品会买下域名 VIP.COM 或花费千万

域名提供商

如果想要域名,得去找一些域名注册商去购买,目前基本各大云服务器厂商都支持域名的购买等:

  • 阿里:阿里云官网
  • 腾讯:腾讯云官网
  • 百度:百度智能云官网
  • 华为:华为云官网

自己挑选一个域名购买即可。

配置 DNS

有了域名后,下一步就是配置 DNS 了,这样别人就可以通过域名来访问你的服务器了。以阿里云为例,简单说明下怎么配置:云解析 DNS

在要配置 DNS 的地方,点击解析设置:

然后添加记录:

然后是填写记录的值:

​​

什么是记录:简单来说就是域名解析的类型,例如有如下类型:

  • A (Address) 记录: 是用来指定主机名(或域名)对应的 IP 地址记录。用户可以将该域名下的网站服务器指向到自己的 web server 上。同时也可以设置您域名的二级域名。
  • MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当 Internet 上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过 DNS 查找 mydomain.com 这个域名的 MX 记录,如果 MX 记录存在, 用户计算机就将邮件发送到 MX 记录所指定的邮件服务器上。
  • NS 记录:ns 记录全称为 Name Server 是一种域名服务器记录,用来明确当前你的域名是由哪个 DNS 服务器来进行解析的。

比如用户通过浏览器访问你的网站,就会用 A 记录;用户发邮件给你,就会用 MX 记录……不同的记录有不同的作用。

比如,我们这里添加 A 记录,主机记录写 @,记录值为你的服务器 IP 地址,然后就可以通过域名访问服务器里。例如访问 peterjxl.com,就会解析为访问 IP。

我们再添加一个 A 记录,主机记录写 www,记录值还是服务器 IP,这样用户就可以访问 www.peterjxl.com 来访问我的服务器了。

备案的概念

注册了域名,并不代表你就可以使用了,在国内,得备案后才可以使用。如果你设置了 DNS 但是没备案,一般会被域名注册商马上停止解析,得备案通过后才给你解析。

备案简单来说就是让国家审核下你的网站,然后才可以使用域名,这是国家规定:

以下内容来自:网站备案_ICP 备案_备案迁移_备案-阿里云

是否一定要备案?

ICP 备案主要看您的网站等互联网信息服务解析到的服务器是否在中国内地(大陆),如果服务器在中国内地(大陆),必须完成 ICP 备案才可对外提供服务。如果服务器在中国香港、中国澳门、中国台湾及其他国家和地区,则不需要进行工信部 ICP 备案,仅需要完成公安联网备案。查看备案的必要性。

不进行 ICP 备案的影响

根据上述政策规定,解析至中国内地服务器的网站等服务,必须完成 ICP 备案才可对外提供服务。* 如果您未在阿里云提交过 ICP 备案,直接将域名解析至阿里云中国内地服务器上,将被阿里云监测系统识别并阻断网站的访问服务,提示您需先完成备案操作。

如果您已经在其他接入商处申请过 ICP 备案,现在希望将域名解析至阿里云中国内地服务器上,根据政策要求,您需要将 ICP 备案信息接入阿里云。如果您没有将 ICP 备案信息接入阿里云,将被阿里云监测系统识别并阻断网站的访问服务,提示您需要将 ICP 备案信息接入阿里云。具体操作请参见​接入备案流程。

备案之前要做的事情

首先自己的网站得有内容,如果你网站啥内容都没有,审核是不会通过的,因为没有内容可以审核……

当年我就是搞了个 VuePress 首页然后去提交备案,被退回了,我还打电话去问为什么退回 🤣🤣🤣 …

​​​

后面为了通过备案,我先临时将自己的笔记导入到了博客上,备案通过后再细细整理网站的内容。

工信局备案

备案的过程大同小异,具体怎么备案,得看域名注册商的指引,例如阿里云的备案相关的文档就很齐全:备案

在备案的时候请仔细阅读下文档,备案也不难,就填几个表单就可以了,工信局备案大概一周左右,通过或退回都有短信通知。

网站的名字也是需要注意的,不能起一些敏感的名字等,参考:填写网站信息(备案单个网站)

公安局备案

以下内容来自:ICP 备案后所需的后续流程介绍_备案-阿里云帮助中心

依据 计算机信息网络国际联网安全保护管理办法 相关规定,各网站在工信部进行 ICP 备案成功后,需在网站开通之日起 30 日内提交公安联网备案申请,详情请参见公安联网备案及注销。

各地区用户申请公安联网备案请登录全国互联网安全管理服务平台提交公安联网备案申请。

公安联网备案审核通过后,您需在 30 日内登录全国互联网安全管理服务平台,在您的已备案网站详情中,复制网站公安机关备案号备案编号 HTML 代码,下载备案编号图标,并编辑您的网页源代码将公安联网备案信息放置在网页底部。

具体怎么备案,可以参考:公安联网备案信息填写指南

公安备案也参考域名注册商提供的服务即可,比如阿里云的文档中每个表单每个字段怎么填都有说明,也是填几个表单就能完成备案;

不过需要注意的是,公安局备案退回或通过是没有短信通知的,而且被退回需要在一段时间内重新提交,所以需要定期自行去公安局备案网站上查看结果。

备案之后要做的事情

备案通过后,就需要将备案信息放到网页底部(别问为什么,问就是国家规定),例如本博客的底部:

以 VuePress 为例,我是在 config.themeConfig ​里这样配置的:

  //配置页脚
  footer:{
    createYear: 2022,
    copyrightInfo: `<a href='https://beian.miit.gov.cn'>粤ICP备2022067627号-1</a>  
    <img src='https://image.peterjxl.com/blog/beian.png'>
    <a href='http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44011302003646'>粤公网安备 44011302003646号</a>
    `
  },

有些 VuePress 主题(例如 vuepress-theme-hope)不支持自定义页脚,需注意。

更改备案信息

备案通过后,如果想要更改备案信息(例如网站名字等),也可以在域名注册商上面提交修改申请。注意同步修改公安备案信息。

HTTPS

开启 HTTPS 有很多好处,比如可以实现数据加密传输等,提高网站安全性,提供搜索引擎权重,使其更容易被搜索到等等。

购买证书

不同域名注册商的话,购买的流程也不同。不过一般证书都比较便宜(一般不会用到通配符证书,很贵)。

阿里云提供了免费证书可以使用,在每个自然年内,都可以通过 SSL 证书服务一次性申领 20 张免费证书。

访问云盾证书服务购买页,选择 「DV 单域名证书(免费试用)」,按照提示下单购买(订单价格为 0 元)。

​​

登录 SSL 证书控制台,选择 「SSL 证书」 - 「免费证书」,点击「创建证书」,就会自动创建一个证书:

​​

在新创建的证书上,点击 「证书申请」,填写证书相关的信息…

注意免费证书绑定的域名,只能是普通域名,比如 peterjxl.com​ 或者 www.peterjxl.com​,所谓通配符域名,就是指以 *. 号开头的域名,比如 *.peterjxl.com​,这样的证书非常贵的,因为有这一个,所有子域名都可以用。

填写后就是提交审核了,一般几分钟内就可以完成审核。

随着时间的推移,购买的流程可能会有不同,具体怎么购买以官网教程为准:购买 SSL 证书指南,实在不行问客服。

上传证书到服务器

证书状态变为 「已签发」后,我们就需要下载证书并上传到服务器上了:

由于我用的 Nginx 服务器,因此这里下载 Nginx 的(读者如果用其他的服务器软件,就下载对应的):

然后解压,并上传到服务器上,我的证书存放路径:

$ll /opt/nginxrun/conf/cert/
total 24
-rw-r--r-- 1 root root 1675 Jul 26  2022 8183762_www.peterjxl.com.key
-rw-r--r-- 1 root root 4768 Jul 26  2022 8183762_www.peterjxl.com.pem
-rw-r--r-- 1 root root 1675 Nov 22 07:44 8852603_twikoo.peterjxl.com.key
-rw-r--r-- 1 root root 4752 Nov 22 07:44 8852603_twikoo.peterjxl.com.pem

修改 Nginx 配置

可以在下载证书页面点击帮助,看看怎么配置证书的: 在 Nginx 或 Tengine 服务器上安装证书

接下来我们修改 Nginx 配置,在 http 块里面新增一个 server 块,以阿里云文档的说明为例:

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain;
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  
    ssl_certificate_key cert/cert-file-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.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #Web网站程序存放目录。
        index index.html index.htm;
    }
}

我的 Nginx 完整配置:

worker_processes  1;
error_log  logs/error.log;
pid        logs/nginx.pid;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;

    server {
		listen 443 ssl;
		server_name www.peterjxl.com;
		root /opt/myblog;
		index index.html;
		ssl_certificate cert/8183762_www.peterjxl.com.pem;  
		ssl_certificate_key cert/8183762_www.peterjxl.com.key; 
		ssl_session_timeout 5m;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		#表示使用的加密套件的类型。您需要自行评估是否配置TLSv1.1协议。
		ssl_prefer_server_ciphers on;
		location / {
             root   /opt/myblog;
             index  index.html index.htm;
        }

	}
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /opt/myblog;
            index  index.html index.htm;
        }
    }
}

修改完后,记得重启 Nginx:

systemctl restart nginx

http 重定向

对于原本的 http 请求,我们可以写一个 rewrite 语句,重定向所有的 http 请求到 https 请求:

server {
	listen 80;
	server_name peterjxl.com; #需要将yourdomain替换成证书绑定的域名。
	rewrite ^(.*)$ https://www.peterjxl.com; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
	location / {
		index index.html index.htm;
	}
}


# HTTPS端口
server {
	listen 443 ssl;
	server_name www.peterjxl.com;
	root /opt/myblog;
	index index.html;
	ssl_certificate 	/opt/nginxrun/conf/cert/8183762_www.peterjxl.com.pem;  
	ssl_certificate_key /opt/nginxrun/conf/cert/8183762_www.peterjxl.com.key; 
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

	#表示使用的加密套件的类型。您需要自行评估是否配置TLSv1.1协议。

	ssl_prefer_server_ciphers on;
	location / {
		 root   /opt/myblog;
		 index  index.html index.htm;
	}
}

开启 gzip 压缩,可以使得网站的加载速度变快:

# HTTPS端口
server {
	listen 443 ssl;
	server_name www.peterjxl.com;
	.......其他配置,这里忽略

        # 这里是新增的 gzip 配置
	gzip on;
	gzip_min_length 1k;
	gzip_comp_level 6;
	gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

}

开启端口

阿里云服务器默认没有开启 HTTPS 监听的 443 端口(很多云服务器都没有开启的),所以需要到 ECS 管理控制台 的「安全组」页面,开放 443 端口:

源一般配置为 0.0.0.0,指允许所有 IP,也就是所有人都可以公开访问你的博客:

访问自己的网站,如果网页地址栏出现小锁标志,表示证书已经安装成功:

最后

备案并不麻烦,就单纯填几个表单提交即可,如果有什么问题也可以问域名注册商的客服。

如果你使用 GitHub Pages 或者 Gitee Pages,则一般不用备案也可,请读者自行斟酌。

参考

  • 域名解析–什么是 A 记录、别名记录(CNAME)、MX 记录、TXT 记录、NS 记录 -爱名网 22.CN
  • 阿里云域名配置 HTTPS - 知乎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Xilinx FPGA:vivado关于真双端口的串口传输数据的实验

一、实验内容 用一个真双端RAM&#xff0c;端口A和端口B同时向RAM里写入数据0-99&#xff0c;A端口读出单数并存入单端口RAM1中&#xff0c;B端口读出双数并存入但端口RAM2中&#xff0c;当检测到按键1到来时将RAM1中的单数读出显示到PC端&#xff0c;当检测到按键2到来时&…

普通Java工程如何在代码中引用docker-compose.yml中的environment值

文章目录 一、概述二、常规做法1. 数据库配置分离2. 代码引用配置3. 编写启动类4. 支持打包成可执行包5. 支持可执行包打包成docker镜像6. docker运行 三、存在问题分析四、改进措施1. 包含environment 变量的编排文件2. 修改读取配置文件方式3. 为什么可以这样做 五、运行效果…

股票Level-2行情是什么,应该怎么使用,从哪里获取数据

行情接入方法 level2行情websocket接入方法-CSDN博客 相比传统的股票行情&#xff0c;Level-2行情为投资者打开了更广阔的视野&#xff0c;不仅限于买一卖一的表面数据&#xff0c;而是深入到市场的核心&#xff0c;提供了十档乃至千档的行情信息&#xff08;沪市十档&#…

JavaWeb-【1】HTML

笔记系列持续更新,真正做到详细!!本次系列重点讲解后端,那么第一阶段先讲解前端 目录 1、Javaweb技术体系 2、BS架构说明 3、官方文档 4、网页组成 5、HTML 6、HTML快速入门 7、HTML基本结构 8、HTML标签 ​9、HTML标签使用细节 ①、font标签 ②、字符实体 ③、标…

图神经网络dgl和torch-geometric安装

文章目录 搭建环境dgl的安装torch-geometric安装 在跑论文代码过程中&#xff0c;许多小伙伴们可能会遇到一些和我一样的问题&#xff0c;就是文章所需要的一些库的版本比较老&#xff0c;而新版的环境跑代码会报错&#xff0c;这就需要我们手动的下载whl格式的文件来安装相应的…

SSM中小学生信息管理系统 -计算机毕业设计源码02677

摘要 随着社会的发展和教育的进步&#xff0c;中小学生信息管理系统成为学校管理的重要工具。本论文旨在基于SSM框架&#xff0c;采用Java编程语言和MySQL数据库&#xff0c;设计和开发一套高效、可靠的中小学生信息管理系统。中小学生信息管理系统以学生为中心&#xff0c;通过…

机器学习筑基篇,​Ubuntu 24.04 编译安装 Python 及多版本切换

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] Ubuntu 24.04 编译安装最新Python及多版本切换 描述&#xff1a;说到机器学习&#xff0c;人工智能&#xff0c;深度学习不免会提到Python这一门编程语言&#xff08;人生苦短&#xff0c;及时Pyt…

【MySQL】逻辑架构与存储引擎

一、逻辑架构 1、MySQL逻辑架构 我们可以根据上图来对sql的执行过程进行分析 第一步&#xff1a;客户端与服务器建立一个连接&#xff0c;从连接池中分配一个线程处理SQL语句第二步&#xff1a;SQL接口接受SQL指令第三步&#xff1a;如果是5.7版本&#xff0c;就会先去缓存中…

Facebook数据仓库的变迁与启示

❃博主首页 &#xff1a; <码到三十五> ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a; <搬的每块砖&#xff0c;皆为峰峦之基&#xff1b;公众号搜索(码到…

史上最全的自抗扰控制(ADRC)学习资料

史上最全的自抗扰控制&#xff08;ADRC&#xff09;学习资料 需要的私信我~ 需要的私信我~ 需要的私信我~ ​ 本文将作者近些年来学习ADRC算法的学习资料进行汇总&#xff0c;整理了这一版相对较全的学习资料&#xff0c;包含参考文献以及仿真案例&#xff0c;适合初学者入门&…

STM32实现看门狗(HAL库)

文章目录 一. 看门狗1. 独立看门狗&#xff08;IWDG&#xff09;1.1 原理1.2 相关配置1.3 相关函数 2. 窗口看门狗&#xff08;WWDG&#xff09;2.1 原理2.2 相关配置2.3 相关函数 一. 看门狗 单片机在日常工作中常常会因为用户配置代码出现BUG&#xff0c;而导致芯片无法正常工…

21天学通C++:第九、十章节

第九章&#xff1a;类和对象 带默认值的构造函数参数 注意&#xff1a;默认构造函数是调用时可不提供参数的构造函数&#xff0c;而并不一定是不接受任何参数的构造函数。 因此&#xff0c;下面的构造函数虽然有两个参数&#xff0c;但它们都有默认值&#xff0c;因此也是默认…

CurrentHashMap巧妙利用位运算获取数组指定下标元素

先来了解一下数组对象在堆中的存储形式【数组长度&#xff0c;数组元素类型信息等】 【存放元素对象的空间】 Ma 基础信息实例数据内存填充Mark Word,ClassPointer,数组长度第一个元素第二个元素固定的填充内容 所以我们想要获取某个下标的元素首先要获取这个元素的起始位置…

Java 有什么必看的书?

Java必看经典书有这两本&#xff1a; 1、Java核心技术速学版&#xff08;第3版&#xff09; 经典Java开发基础书CoreJava速学版本&#xff01;Java入门优选书籍&#xff0c;更新至Java17&#xff0c;内容皆是精华&#xff0c;让Java学习更简单&#xff0c;让Java知识应用更快速…

fasttext工具介绍

fastText是由Facebook Research团队于2016年开源的一个词向量计算和文本分类工具。尽管在学术上并未带来巨大创新&#xff0c;但其在实际应用中的表现却非常出色&#xff0c;特别是在文本分类任务中&#xff0c;fastText往往能以浅层网络结构取得与深度网络相媲美的精度&#x…

STM32CubeMX实现4X5矩阵按键(HAL库实现)

为了实现计算器键盘&#xff0c;需要使用4X5矩阵按键&#xff0c;因此&#xff0c;我在4X4矩阵键盘上重新设计了一个4X5矩阵按键。原理图如下&#xff1a; 原理描述&#xff1a; 4X5矩阵按键&#xff0c;可以设置4个引脚为输出&#xff0c;5个引脚为输入模式&#xff0c;4个引…

MPS---MPQ86960芯片layout设计总结

MPQ86960 是一款内置功率 MOSFET 和栅极驱动的单片半桥。它可以在宽输入电压 (VIN) 范围内实现高达 50A 的连续输出电流 (IOUT)&#xff0c;通过集成MOSFET 和驱动可优化死区时间 (DT) 并降低寄生电感&#xff0c;从而实现高效率。 MPQ86960 兼容三态输出控制器&#xff0c;另…

Ubantu22.04 通过FlatPak安装微信

Ubuntu22.04 下使用Flatpak稳定安装微信&#xff01; 国际惯例&#xff0c;废话不多说&#xff0c;先上效果图。为啥使用Flatpak,因为Wechat官方只在FlatPak发布了最新的版本。之前使用了Wine以及Dock安装Wechat,效果都不是很理想&#xff0c;bug很多。所以使用了FlatPak。 Fl…

GRPC使用之ProtoBuf

1. 入门指导 1. 基本定义 Protocol Buffers提供一种跨语言的结构化数据的序列化能力&#xff0c;类似于JSON&#xff0c;不过更小、更快&#xff0c;除此以外它还能用用接口定义(IDL interface define language)&#xff0c;通protoc编译Protocol Buffer定义文件&#xff0c;…