分别编译基于最新版本OpenSSL和BoringSSL的Nginx支持HTTP3
前言在 Nginx 上开启 HTTP/3 能带来不少性能和安全上的提升,这主要得益于其底层使用的 QUIC 协议(一种基于 UDP 的现代传输协议)。下面我用一个表格梳理了一下: 好处类型 具体说明 主要原因/技术 性能提升 降低延迟,减少网络拥塞,适应高并发场景 基于UDP、0-RTT连接重用、多路复用、改进的拥塞控制 用户体验优化 页面加载更快,移动网络体验更顺畅,弱网环境下更稳定 连接迁移、更好的丢包恢复机制 安全增强 默认加密,减少中间人攻击风险 内置 TLS 1.3、放大攻击防御机制 技术优势 解决队头阻塞,面向未来 QUIC 流级别多路复用、协议发展趋势 注意事项虽然 HTTP/3 好处很多,但在 Nginx 上启用时也需要考虑以下几点: Nginx 版本与编译需求:需要使用 Nginx 1.25.0 或更高版本。 实验性功能:目前 Nginx 中的 HTTP/3 支持在某些版本中可能仍标记为实验性(experimental)。生产环境部署前务必充分测试。 客户端支持:主流现代浏览器(Chrom...
申请公网IPv4地址如此简单?
前言这篇文章不是教你怎么申请IPv4地址的,因为我也不知道怎么申请,只能说通过我自己的经验最后给一点小小的参考建议。 众所周知,全球IPv4地址紧缺,现在运营商都使用NAT来分发地址,也就是正常情况下我们得到的地址是经过NAT转换后的地址,这个地址就是内网地址,外网无法直接访问。 也就造成了现在都使用IPv6的方式外网访问。 直到拿到IPv4地址之前,我也一直都是用的IPv6,使用IPv6的局限性其实就一个:IPv6还未普及! 比如我公司的网络是只有IPv4,不支持IPv6,只能❌; 比如现在星巴克、肯德基、商场的免费Wi-Fi,也是只支持IPv4,不支持IPv6,也只能❌; 基本上各个场景下的免费Wi-Fi,都不支持IPv6,想无限制的连接家里设备,对不起,断开Wi-Fi,使用手机的蜂窝数据。 不说流量够不够用,如果中途有电话进来了,大概率手机的个人热点也会与其他设备断开连接。 因此只能说IPv6的普及还有一段过程。 frp速度太慢,靠服务器中转,直接pass,ZeroTier这类软件都是相同的原理 过程这边说一下我是怎么申请到IPv4公网地址的,说出来真的很搞笑,只是随口...
彻底搞定Window映射Nginx搭建的WebDav问题
前言继前两篇文章,介绍了两种搭建WebDav的方法: Apache2后端,Nginx反向代理 Nginx直接搭建WebDav 这两种方法都存在一个很大的问题,Windows磁盘映射会出现各种错误,而且还不是单一的错误,这两天操碎了心,国内国外文章全部扒了一遍又一遍,所幸最终还是可以解决的。 问题: 无法创建、上传文件(夹) 提示:目录内已经存在相同的文件,是否覆盖 遗留一个0KB 的空白文件 另一个程序已经锁定文件的一部分,无法访问 问题的核心是 Windows 自带的 WebDAV 客户端(Microsoft-WebDAV-MiniRedir)与服务器的 WebDAV 模块之间的兼容性问题。 这个问题不单纯是Nginx或者Apache2,其实很多第三方应用也是一样,比如我尝试过的Openlist,Hfs,它们可能一些小文件上传下载没问题,但是由于我经常要传输蓝光电影,文件大点也是一样的错误。 根源的Windows磁盘映射在搞事情,我们只能顺着它的心意。 顺带说一句,MacOS也不比它好,测试下来半斤八两。 重点基于前两篇文章已经配置成功并能正常访问,我们...
Aria2使用www-data用户配置
前言常规的Aria2是基于安装用户来使用的,或者基于 root 用户,这样其实很不方便管理。 搭配它的WebUI-GitHub - mayswind/AriaNg: AriaNg, a modern web frontend making aria2 easier to use.,网页使用的是Nginx或者Apache2的用户权限www-data,Aria2用的又是root,导致下载的文件都是root权限,权限问题比较杂。 这时候如果有磁盘映射(映射SMB或者WebDav的那个文件夹),特别是基于Nginx或者Apache2搭建的WebDav,这样其他的用户根本没办法对下载的文件进行编辑等操作。 也就是说,只要把Aria的权限改为www-data,那么整个文件夹权限都是统一的 www-data,一视同仁。 操作修改Aria2的服务: 1234567891011121314151617# vim /usr/lib/systemd/system/aria2c.service[Unit]Description=Aria2c[Service]User=www-dataGroup...
从零开始使用Ubuntu Server搭建家用NAS服务器(五)
前言距离上次写这个栏目已经很久了,主要是因为之前的那些东西已经够用了,基本没有改动。 今天继续之前的文章,是因为通过Ubuntu Server搭建SMB服务来做共享感觉不太够用,主要的问题在于外网访问,外网的环境下明显WebDav比SMB协议快的非常多,其次,SMB的另一个劣势也是历史问题,出现过一些比较严重的漏洞(如永恒之蓝EternalBlue),WebDav相对来说则比较安全一些。 特性 SMB WebDAV 设计初衷 局域网(LAN) 文件共享和打印服务 广域网(WAN/Internet) 上的文档协作与管理 底层协议 直接运行在TCP/IP之上(或更早的NetBIOS),使用非标准端口(445, 139) 运行在HTTP/HTTPS之上,使用标准Web端口(80, 443) 通信模式 有状态连接:客户端和服务器需要建立一个复杂的、持续的会话,维护连接状态。 无状态连接:基于HTTP的请求-响应模式,每个请求都是独立的。 数据包结构 密集的二进制格式,包含大量小数据包进行协商和确认。 基于文本的XML和标准HTTP头,...
使用Nginx搭建WebDav的注意事项补充(流媒体访问)
前言搭建WebDav的两种最简单方式: Linux:Nginx Winodws:IIS 前两天在给小朋友准备一些学习(视频、音频等)的资料,让她在电视机或者iPad上可以自己看。 就想着用WebDav搭建一个影音库,里面只有这些学习的音视频,也没办法看其他东西,而由于她的资料不是很多,干脆就放在Ubuntu服务器上,24h开机也随时都能访问。 WinNAS因为有8块硬盘,24h开机太费电。 过程方案一:NginxUbuntu Server搭建WebDav的首选方案肯定是Nginx,轻量。 但是按照网上的方法,最终搭建完成后,浏览器可以正常访问,但是手机平板无法访问,只能最终放弃。 方案二:Jellyfin或者Plex这类媒体资源库其实还是非常不错的,搭建后也能正常访问,但是我又不是很想固定在一个应用上面,相当于以后又要多维护一个应用,暂时先Pass,还是再回去研究一下Nginx搭建的WebDav为什么手机平板无法访问吧~ 方案三:Nginx回来继续研究Nginx,网上搜资料,继续看看是什么原因。 后来看到手机平板必须要使用dav_ext_methods模块才能正常访问...
关于Windows更新KB5064081后IIS站点不可见的问题以及解决方法
前言IIS是我的WinNAS一直在使用的WebDav工具,配置简单,使用便捷,软件也不臃肿,实在的功能型软件。 昨天正好是朋友来家里吃饭,吃完饭说想看电影,正好他想看的电影在其他硬盘,准备把那块硬盘添加在WebDav中。 一进IIS就傻眼了,界面光秃秃的,而且右侧有提示【获取信的Web平台组件】。。。 过程我以为更新KB5064081后,组件也有更新,需要重新下载安装。好像有个软件叫 IIS Platform Deploy ,好像这个软件早就弃用了,但我还是下载并安装,没有用。 之后反复尝试操作:卸载以及安装WebDav全部组件,均无效。 又在国内各个搜索平台搜了一圈,偶尔有一两条说是更新KB5064081后是会出现这个问题,但是没有解决办法。之后又问了DeepSeek和ChatGPT,仍然没有解决。 有两篇文章是让你卸载KB5064081更新的,但是这个更新是重要更新,根本无法卸载,有说通过Windows恢复来操作,但我尝试后发现下载恢复程序都出错。 于是打算放弃IIS,准备使用Hfs或者Nginx搭建WebDav了。 最后本着试试就试试的原则,Google了一下这个情...
Vuepress使用Fancybox播放图片以及视频
前言Vuepress默认的图片浏览是点击放大,可以说是非常简洁,如果网站图片比较多,还是可以加载Fancybox来使它更加优雅。 因为我不喜欢把一大堆包都放在服务器,直接从CDN引入,自动加载其最新版本,这样省去很多后期维护成本。 这篇文章介绍一下这种最简单的方法让Vuepress网站使用Fancybox。 图片步骤(已验证) 创建fancybox插件 在docs/.vuepress/plugins 目录中创建一个名为vuepress-plugin-fancybox 的目录,如果没有 plugins 目录,先创建此目录; 在 vuepress-plugin-fancybox 目录下,添加名为 index.js 的文件,将下面内容添加进去: 1234567891011121314151617// docs/.vuepress/plugins/vuepress-plugin-fancybox/index.jsexport default () => ({ name: 'vuepress-plugin-fancybox', extendsMar...
iTerm2利器:Shell Integration的用法和注意事项
前言为什么最近又在研究iTerm呢? 因为Mac系统上面实在没有好用点的SSH工具,研究了好久,也就Termius以及Electerm稍微能用用。 Termius简单实在一些,Electerm稍微有点卡,但是对于SFTP使用比较友好,要再说一个就是WindTerm,它其实整体还不错,唯一不舒服的一点就是通过SFTP修改某个文件,一直会显示本地文件已更改,是否要上传到服务器(未修改完之前也一直提示,这个真的不能忍~)。 实在是被Windows上的MobaXterm养刁了,MobaXterm真的太好用了! FinalShell我也尝试了一下,整体其实都很好,要说问题就是个人开发,感觉有点虚,而且最关键的是尝试了一下它自带的海外加速功能,直接报警说异地登陆了,它也没提示是说通过它的服务器进行中转,吓的我赶紧改密码。 顺便说一下为什么不提Tabby,其实我用过一段时间,感觉开着太占资源了,之前好像快1G,不知道后来有没有优化。。。 最后还是理了一下思路,平时文件传输很少,SFTP能有最好,没有也凑合,那么既然对SFTP需求不大,就直接使用自带的终端集成iTerm就行了。 iTerm最...
OpenClash使用心得:DNS防泄漏
前言最近已经在新家住了几天,对于新家的网络一直都是非常满意的,直到前几天发现自己无法登陆ChatGPT,总是显示地区不对,无法提供服务。 当时就比较纳闷,明明Youtube、 Netflix、Twitter这些都能正常浏览,为什么就ChatGPT不行? 开始还以为是IPv6的问题,后来想明白了,虽然网络没问题,但是通过DNS反馈,得到是国内的地理位置,也就是DNS泄漏了。 常见原因稍微查了点资料,DNS 泄漏通常源于以下几个配置环节: DNS 查询未完全劫持:路由器上可能存在其他 DNS 服务(如 Dnsmasq、SmartDNS 等)与 OpenClash 争夺 DNS 查询的处理权,未能将全部 DNS 查询请求正确导向 OpenClash。 OpenClash 上游 DNS 设置不当:在 OpenClash 的 DNS 设置中,如果 nameserver 使用了明文 DNS(如 114.114.114.114),并且 fallback 过滤器(fallback-filter)设置不够严格,可能导致并发查询时,国内 DNS 服务器响应了国外域名的查询请求。 根据目前主流...