使用 QuicTLS 编译 Nginx 并开启 Quic 或 HTTP/3
之前在 Nginx-Quic 分支被合并到了 Nginx 主线的时候写过一篇使用 BoringSSL 编译 Nginx 并开启 Quic 或 HTTP/3 的文章,详见 Nginx 编译开启 Quic 或 HTTP/3。但是由于 BoringSSL 上个月发布了一个破坏性的更新导致编译出错,虽然最后解决了问题但回头想想觉得还是可以转向更稳定、兼容性更好的 QuicTLS,所以本文将为您介绍如何使用 QuicTLS 编译 Nginx 并开启 Quic 或 HTTP/3。
安装依赖1234567891011121314# Debian 11或12apt updateapt install build-essential ca-certificates zlib1g-dev libpcre3 libpcre3-dev tar unzip libssl-dev wget curl git cmake ninja-build mercurial libunwind-dev pkg-config libjemalloc-dev# Ubuntu 22.04或20.0 ...
利用腾讯云轻量应用服务器搭建 WHOIS 查询接口
WHOIS 是一个用于查询域名/IP/ASN 信息的协议,可以查询资源的注册信息等,本文将介绍如何利用轻量应用服务器搭建 WHOIS 查询接口。
部署轻量应用服务器
购买腾讯云轻量应用服务器的步骤本文不再赘述,您可以通过腾讯云活动或在轻量应用服务器控制台新建购买。
本文以 Debian 12 为例
登录轻量应用服务器
打开轻量应用服务器控制台找到您的实例,并点击登录。
点击登录登录到服务器。
输入sudo su切换到 root 用户,然后输入cd /root进入 root 用户的家目录。
安装 WHOIS 工具安装依赖
更新软件包。1apt update && apt upgrade -y
在终端输入以下命令安装redis-server。1apt install redis-server -y
安装 WHOIS
打开Releases页面,找到最新的版本,选择系统对应的版本复制下载链接,轻量应用服务器一般为amd64架构。
在终端输入以下命令下载并解压。123mkdir whois && cd whoiswget https ...
什么是 CNAME 展平?
有些小伙伴们会经常遇到一个问题,在当前主机记录已经存在 CNAME 类型的记录后再在当前主机记录下添加其他记录类型时会提示某某类型记录和 CNAME 记录可能存在冲突,甚至有些解析服务商会直接不允许添加,比较常见的就是将主域名解析至 CDN 服务商提供的 CNAME 记录,然后再添加 MX(邮箱服务记录)时会碰到这个问题,这是为什么,该如何解决呢?接下来就让我们一起来了解一下吧。
为什么会出现这个问题?在 DNS 标准文件 RFC 1034 中,对 CNAME 记录的定义如下:
Identifies the canonical name of an alias.
译文:标识别名的规范名称。
翻译起来很拗口,但简单的来说 CNAME 记录就是把一个域名托管给另一个域名,该域名的所有解析记录都会被托管给另外一个域名,包括 MX、TXT、AAAA、A 等。我们以ddnsip.cn这个域名为例,它的解析记录如下:
在图中我们可以看到,ddnsip.cn这个域名通过 CNAME 记录指向了ddnsip.cn.eo.dnse3.com.,这也就意味着ddnsip.cn这个域名的所有解析 ...
BIND 9+CloudNS+NS1 (NSONE) 搭建高可用 DNS 服务
本文介绍如何使用 BIND 9+CloudNS+NS1 (NSONE) 搭建高可用 DNS 服务,一般来讲,对于高可用的场景来说,单一的 DNS 服务商提供的 DNS 服务无法满足灾备的需求,所以我们需要使用多个 DNS 服务商来进行冗余备份,本文将指导您使用 BIND 9 作为主 DNS 服务器(不对外提供服务),CloudNS 和 NS1 (NSONE) 作为从 DNS 服务器(对外提供服务)来搭建高可用 DNS 服务。
本文部分内容将指导您如何使用自己的域名作为 DNS 服务器地址,以下简称Vanitydns,如果您不需要实现该效果,可以按说明跳过相关步骤。
前提条件
服务器/云服务器:BIND 9 对配置要求不高,如您的解析记录数量较少,一般 1 核 1G 的服务器即可满足需求;该服务器 53 端口需要对外开放,如果您使用的是云服务器,需要在云平台的安全组中添加 53 端口的入站规则(TCP&UDP)。
系统环境:本示例中使用的是 Debian12
DNS 服务域名(Vanitydns 需要):为了实现服务的高可用性,至少需要两个域名,这两个域名需要在 ...
使用 acme.sh 为在腾讯云(DNSPod)解析的域名自动申请证书(API3.0 / 腾讯云(DNSPod)API 密钥版本)
ACME(自动证书管理环境)是一个互联网工程任务组维护的协议,它允许自动化 Web 服务器证书的部署,acme.sh 是支持 ACME 协议流行的客户端之一,可以通过其实现 SSL 证书的自动申请、续期等等。一直以来,使用 acme.sh 为域名申请证书都是通过 DNSPod API 来实现的,但由于 DNSPod API 后续将不再维护,同时旧版DNSPod API 将不再有服务承诺,以及旧版 API 存在着接口不稳定、权限无法细分控制、国内站和国际站接口不统一等问题,因此笔者基于 dns_dp 脚本,适配了腾讯云 API3.0 版本(dns_tencent)。升级后的脚本将同时支持 DNSPod 国内站和国际站(暂仅支持国内站,国际站部分接口官方团队正在排期适配,预计10月完成),不再需要针对国内站和国际站单独适配,同时支持使用子账号 API 密钥申请证书,权限可细分控制,接口更加稳定,使用更加方便、安全。
2023-09-25 更新:腾讯云 API3.0 脚本已合并到 acme.sh master 分支,可直接升级 acme.sh 后使用或通过一键安装脚本,无需再手动下载de ...
DNS+HTTPDNS 实现 CNAME 展平 (CNAME Flattening)
本文将介绍如何使用 DNS (DNSPod) +HTTPDNS 实现 CNAME 展平 (CNAME Flattening)。一直以来,由于 CNAME 记录和任何记录冲突的独有特性,导致一旦在根域使用 CNAME 解析,将导致其他记录无法正常使用,影响 DS (DNSSEC)、MX (邮箱服务)、TXT (SPF、DKIM、DMARC、站长平台验证) 等记录的使用,进而影响依赖这些记录的相关服务(如括号内所示),而 CNAME 展平 (CNAME Flattening) 是解决这个问题的一种方法,但由于 DNSPod 本身不支持 CNAME 展平 (CNAME Flattening),所以本文将介绍如何使用 DNS+HTTPDNS 通过 API 调用的方式实现 CNAME 展平 (CNAME Flattening)。
为确保能精准稳定的获取到 CDN 等厂商提供的 CNAME 记录所对应的解析 IP(调度结果),脚本需要使用 HTTPDNS 服务,HTTPDNS 服务可能产生对应的请求次数费用,具体费用请参考 HTTPDNS 计费说明。
前提条件
域名解析托管在 DNSPod ...
记一次使用 fontTools 优化网页字体(字体文件大小)
一直以来,本站使用的是 HarmonyOS Sans 字体,但由于中文字体文件过大(约 4.3 MB),导致网页加载速度缓慢,不利于弱网环境下的访问。因此,本文将介绍如何使用 fontTools 中的 pyftsubset 对网页字体进行切片,以优化网页字体文件大小。
安装依赖使用前需要安装 Python 3,fontTools 以及 woff2
安装 Python 3Python3 一般系统都有自带,如果没有,可以使用以下命令安装:
12# Debian/Ubuntuapt install python3
安装 fontTools安装完成后,使用以下命令安装 fontTools:
123pip3 install fontTools# 在一些版本的 Debian/Ubuntu 系统中,可能需要使用以下命令apt install python3-fonttools
一些系统可能需要使用 pip 命令,具体可自行尝试。
安装 woff2在对字体文件进行切片后,需要将字体文件转换为 woff2 格式,因此需要安装 woff2 工具:
123456789101112131415161 ...
Nginx 编译开启 Quic 或 HTTP/3
随着最近 Nginx-Quic 分支被合并到了 Nginx 主线,Nginx 1.25.0 版本官方二进制包已经支持 Quic/HTTP3,感兴趣的朋友可以前往 https://nginx.org/en/download.html 或 https://nginx.org/en/linux_packages.html 下载安装,体验一下 Quic/HTTP3 的魅力,本文将主要为您介绍如何通过编译的方式开启 Quic/HTTP3。
2024年03月07日更新:最终使用 C++ 链接构建 Nginx,以解决 BoringSSL 编译问题。
2024年02月20日更新:通过在 Nginx 邮件社区讨论得到了一个解决方案,可以将 libssl 构建为共享库来解决这个问题,详见 https://mailman.nginx.org/pipermail/nginx/2024-February/5N5IXG7BI66D5AIKORCYPVVVJTZYMUR6.html ,可以根据需要自行尝试。2024年02月19日更新:由于谷歌的 BoringSSL 现在发布了一 ...
利用 Nginx 搭建 IP 查询接口
本文将介绍如何利用纯 Nginx 搭建 IP 地址查询接口(只查询 IP 地址,不查询 IP 归属地),如果有查询 IP 归属地的需求,可以参考另一位大佬的一篇文章 纯 Nginx 打造 IP 地址查询接口。
好久不见,这两个月由于一些原因(考试、面试)一直没有更新博客,今天终于有时间了,就赶忙来更新。用 Nginx 来获取 IP 这个方法是去年 8 月份在处理DDNS Openwrt 插件无法更新 IP 的 case 时了解到的,当时插件里获取 IP 的接口 ns1.dnspod.net:6666 由于是早些年写的一个程序仅支持 http/0.9 导致 DDNS 插件无法正常获取 IP 地址,后面一位大佬改用 Nginx 来获取 IP 地址,那次才知道 Nginx 原来还能这么用,简直是学艺不精哈哈哈。
安装 Nginx 的方法就不介绍了,直接丢配置文件了。
文末有现成的,如果你不想自己搭建的话可以直接使用。
配置示例获取 IP(JSON)123456789101112131415161718192021222324252627282930313233343 ...
腾讯云建站 CloudPages 记录(编辑网站)
这是一篇编辑网站操作记录,完整的流程请参考 腾讯云建站 CloudPages 快速构建您的企业网站,等有时间再录个视频哈哈哈哈。
操作记录清空全部页面和区块由于没有适合笔者的模板,所以笔者选择了清空全部页面和区块,然后自己从头开始搭建。
各种删删删,清空为止~
添加区块修改内容编辑导航栏更改logo,网站名称,以及导航栏的菜单。
添加banner区块页面总要有一个头图,要不总感觉哪里怪怪的,所以我们添加一个 banner 区块,然后替换内容即可。
点击添加区块,选择图文通栏,并根据自己的需要选择合适的版式:
添加完成后根据自己的需要修改区块内容及样式:
添加介绍区块设置为 Banner 之后就可以添加各种版块用于介绍了,没有什么特别的限制,根据自己的需要来。我选了一个功能特性的区块:
然后编辑区块内容:
编辑页尾添加完介绍区块之后我们就需要开始编辑页尾了,页尾的内容可以根据自己的需要来,我这里简单的设置一下联系方式等
添加页面一般来说一个页面肯定不够用的,所以我们要额外添加下,添加页面的话就比较简单了,直接点击添加页面,然后根据自己的需要添加即可,这里我添加了一个页面用作表单: ...