Category: Uncategorized

  • WSL 2 使用 Docker 桥接模式网络访问 HTTPS 超时的解决方法

    WSL 2 使用 Docker 桥接模式网络访问 HTTPS 超时的解决方法 本文介绍在 WSL 2 中使用 Docker 的桥接模式(bridge network)访问 HTTPS 时出现超时问题的解决方法。 最近一直在 Windows 下使用基于 WSL 2 的 Debian 进行开发。许多场景下需要使用 Docker 构建镜像,但过程中遇到一个奇怪的问题,在 Docker 容器内部访问 HTTP 站点时一切正常: Copy 一旦切换为 HTTPS,访问就会明显变慢,并且有一定概率出现超时: Copy 然而,如果将 Docker 切换到 Host 模式(–network=host),访问又恢复正常: Copy 在排查了 WSL 2 的 Debian 系统配置后,最终请教 ChatGPT 得到结论: 解决方法很简单:将 WSL 2 虚拟网络的 MTU 下调为 1400 即可。 1、添加

    Continue Reading →

  • Debian 安装 Nextcloud 服务端

    本文将指导如何在 Debian 下安装并配置 Nextcloud 服务端。 本文最后更新于 2025 年 10 月 20 日,在如下系统中经过完整的手工测试: 其他系统没有手工测试,请自行测试,理论上本文的教程同时适用于 Debian Stable 以及 Ubuntu LTS。 以下操作需要在 root 用户下完成,请使用 sudo -i 或 su root 切换到 root 用户进行操作。 什么是 Nextcloud? Nextcloud 是一套用于建立网络硬盘的客户端和服务器软件。其功能和 Dropbox 相近,但 Nextcloud 是开源的,任何人都可以在自己的服务器上安装并运行它。 虽然 Nextcloud 性能比较弱,但是实际测试下来几个人的小团队用用也足够了。 安装之前你可以先去官方的 Demo 体验。 准备环境 由于 Nextcloud 消耗资源比较大,一般我们不建议在 4GB 内存以下的 VPS 安装,官方推荐配置为 512MB 内存,实际体验下来安装在 8GB 内存上跑 Nextcloud 会比较流畅。 配置 LEMP 环境 首先,可以参考本站教程配置好 LEMP 环境,在安装 PHP 的时候,请选择

    Continue Reading →

  • 使用 acme.sh 配置 Let’s Encrypt 签发的 IP 地址 SSL 证书

    本文将介绍使用 acme.sh 配置 Let’s Encrypt 为 IP 地址签发 SSL 证书。 之前写过一篇使用 acme.sh 签发证书的教程,但在很长一段时间里,Let’s Encrypt 只能给域名签发证书。 经过几个月的测试之后,现在终于可以对 IP 地址 下手了。 为什么要给 IP 签发证书 在很多场景下,我们并不一定需要域名,但确实需要 HTTPS。比如: 直接通过 IP 提供 DoH 服务,避免「为了安全先做一次不安全的域名解析」这种哲学问题。 默认站点只暴露 IP,不暴露真实域名,顺便还能挡掉一部分不太礼貌的爬虫。 临时起个服务,只想加个锁,不想再去 DNS 那边折腾。 有些域名不太想出现在公开日志里,低调一点总是好的。 准备工作 首先更新 acme.sh 到最新版本: 因为 IP 证书目前只能通过 http-01 和 tls-alpn-01 方式进行验证,所以你需要检查服务器的防火墙,设置允许 TCP 80 和 TCP / UDP 443 端口在公网可以访问。 配置 Nginx 80 端口的默认站点 这里我只介绍在 Nginx 下的配置吧,我们可以直接写入 80 端口的默认配置:

    Continue Reading →

  • Debian 双栈网络时开启 IPv4 优先

    本文原理适用于大多数 Linux 系统,其他系统尚未测试,请读者自行验证。 背景介绍 双协议栈技术就是指在一台设备上同时启用 IPv4 协议栈和 IPv6 协议栈,这样就可以同时使用 IPv4 和 IPv6 的网络。 现代操作系统和浏览器通常会优先使用 IPv6,只有当 IPv6 无法访问时,才会回退到 IPv4。但在某些特定的应用或场景中,我们可能更希望系统优先使用 IPv4,这时就需要通过配置文件进行调整。 修改 /etc/gai.conf 在 Debian 等 Linux 系统下,有一个 /etc/gai.conf 文件,用于系统的 getaddrinfo 调用,默认情况下,它会使用 IPv6 优先,如果您安装了 curl 并且本地支持 IPv6,那么可以使用 curl ip.sb 测试: 结果与 curl ip.sb -6 等效。 从 Debian 13 开始,curl (8.14.1) 默认强制使用 IPv6。因此,如果希望测试本地出口公网 IP,可以改用 wget: 效果等同于 wget -qO- http://ip.sb -6 如果你不想使用 IPv6 优先,可以在这个文件中找到: 取消注释,修改为: 一行命令修改: 此时再次执行 curl ip.sb 测试: 效果等同于 curl ip.sb -4

    Continue Reading →

  • Nginx.io 域名被仲裁争议

    大公司钱多的慌?从未联系就直接发起 UDRP 争议。 什么是域名争议? 全世界的域名争议都由一个叫 WIPO 的组织管理,WIPO 仲裁与调解中心提供省时、合算的互联网域名争议解决机制,无需进行法院诉讼。这项服务包括 WIPO 发起的《统一域名争议解决政策》(UDRP),WIPO 中心已依据该政策办理了 49,500 多起案件。 什么域名可以发起争议? 简单来说,只要你认为这个域名侵犯了你公司的版权或商标,就可以去发起争议,按照我的经验,大概这几种争议是比较容易成功的: 以下几种争议是没有用的,纯浪费钱: 如何防止域名被争议? 这个问题无解,只要是商标或者版权方就可以随时发起争议,唯一的解决办法?收购他们吗? 如何避免域名被争议? 如果你满足上述最后两点,那么有一个办法,就是不鸟对方,域名不做解析,域名不出售,就放着让你买不到,争议不了,干着急。如果对方有意购买,在没调查清楚之前,不要狮子大开口,而是要对方自己报价,切记把握主动权。 Nginx.io 被争议 Nginx.io 是一个开源的项目,基于 Debian 官方打包组的 Nginx 的脚本,对最新版本的 Nginx 进行打包。 不过确实因为 Nginx 卖给 F5 以后,他们拥有 Nginx 的商标,这点无可厚非,但是让我气愤的是,对方从未联系我们,而是直接发起了 WIPO UDRP 争议,但凡他们联系我们一下,我们是很愿意把这个抢注来的域名免费赠送给 F5 的。 现在没办法,只能给这个项目重新命名了,等我纠结好新的名字再鸟他们吧,真的是,大家都那么忙,这些大公司,宁可花不菲的律师费和 1500 美元去争议,也不愿写个邮件直接联系我们? 目前该项目已重命名为 PS:Nginx 背后的 F5 仍然不同意我们使用任何带有 Nginx 的域名,包括二级域名,所以该项目目前更名为  另外,按照经验,以下公司都很喜欢直接争议,包括但不限于 以下公司倒是喜欢直接收购域名,毕竟自己的商标是个通用词嘛 Update: 最终结果下来了,WIPO 判定我们恶意使用他们商标侵权,nginx.io 域名需要转移给 F5,要他们自嗨去吧。

    Continue Reading →

  • Debian 解决 /etc/rc.local 开机启动问题

    本文同样适用于 Debian 9 Strech 之后的版本。 由于某些软件并没有增加开启启动的服务,很多时候需要手工添加,一般我们都是推荐使用 systemd 写个系统服务,但是对于一些简单的脚本或者懒人来说,添加命令到 /etc/rc.local 文件更方便,但是自从 Debian 9 开始,Debian 默认不带 /etc/rc.local 文件,而 rc.local 服务却还是自带的: 并且默认情况下这个服务还是关闭的状态: 为了解决这个问题,我们需要手工添加一个 /etc/rc.local 文件: 然后赋予权限: 接着启动 rc-local 服务: 此时可能会弹出警告: 无视警告,因为这个服务没有任何依赖的系统服务,只是开机启动 /etc/rc.local 脚本而已。 再次查看状态: 然后你就可以把需要开机启动的命令添加到 /etc/rc.local 文件,丢在 exit 0 前面即可,并尝试重启以后试试是否生效了。

    Continue Reading →