前言之前光猫桥接,路由器拨号开启了IPv6,开启之后始终感觉打开网页的速度慢了许多,在Google之后感觉可能是PMTU黑洞的问题。
关于PMTU黑洞MTU (Maximum transmission unit) 是一条链路上可以通过的三层数据包的最大尺寸(包含 IP 包头)。以太网上默认的 MTU 是 1500 字节,但是你和目标服务器之间的路径上可能存在小于 MTU 1500 的链路。这条路径上最小的 MTU 值就是整条路径的 PMTU 值。路由器在转发包时,超过 MTU 大小的包会被分片( Fragmentation ),也就是一个大包会被分切为多个不超过 MTU 的小包进行传输,传输效率会下降。
终端设备在发包时,也可以设置 DF ( Don’t Fragment )标记来告诉路由器不要分片。这时中间路由器会丢掉超过 MTU 的包,回复一条 ICMP Fragmentation Needed 消息。发送者收到这个包后,下次就会发小一点的包,这个过程叫做 PMTU Discovery 。现实中可以看到 HTTPS ( TLS )的流量大都是带 DF 标记的。
然而,互联网上有大量 ...
前言最近折腾了一阵docker,每次都有自己不熟悉的命令,就写下这篇文章记录一下,就不用每次都去网上搜了
Docker常用命令Docker 服务相关命令启动 Docker:1systemctl start docker
停止 Docker:1systemctl stop docker
重启 Docker:1systemctl restart docker
查看 Docker 运行状态:1systemctl status docker
镜像相关命令列出本地镜像:1docker images
从 Docker Hub 拉取镜像:1docker pull <镜像名>:<标签>
示例:
1docker pull nginx:latest
修改镜像名称:1docker tag <旧镜像名称或ID> <新镜像名称:标签>
删除本地镜像:1docker rmi <镜像ID或镜像名>
构建镜像:1docker build -t <镜像名>:<标签> <Dockerfile所在路径>
查看镜像的详细信息:1d ...
前言最近在折腾Nas,然后卡在了外网没法通过域名访问Nas这,在网上也查阅了很多资料,但是都没有我这种情况,我的情况是路由器拨号,开启了公网IPv6,通过ddns-go解析到cf,域名托管在cf,开启了小黄云,在cf的origin rules做了端口转发(不知道我说的对不对,就是可以不用带端口号访问),Nas开放了端口。排查来排查去一直以为是路由器的问题,甚至都准备换一个路由器了,后来在群友的解释下也才知道和路由器没有一毛钱关系
我就想着是不是域名的问题,因为我在我的主力域名做了很多设置,于是就开始了排查域名的问题
关掉origin rules中的端口转发我在origin rules中做了两个端口转发,一个是我的博客,另外一个是Nas,博客是一直能够访问的,只有Nas无法访问,于是关掉了Nas的端口转发,但是仍旧无法访问
将blog的端口转发也关掉,仍旧无法访问,那么就确定了不是origin rules的问题
关掉小黄云我在cf托管域名为了安全是把小黄云开启了的,主要是怕被挖到源IP地址,通过ddns-go解析上来
因为blog和Nas的端口转发都关了,所以也和那俩的解析没什么 ...
前言今天在部署基于PHP7.4的项目到Nas的时候报错提示修改配置失败,因为在开发环境的时候没有考虑到会有这个问题的具体原因,就随便写的判断,以至于后来只能在网上去一个一个找方案来解决,后来经过仔细排查后才发现是权限的问题。config.php 文件的权限为 -rwxr-xr-x,即文件的所有者具有读、写和执行权限,而组和其他用户只有读和执行权限,PHP进程可以成功写入该文件,就需要调整文件的权限和所有者。通常,PHP进程的用户是 www-data、apache 或 nginx。以下是具体解决问题的步骤。(因为这个问题找到了原因就很简单,所以就没有再复现了)
调整文件权限由于文件当前的权限设置为 755(-rwxr-xr-x),应该将其更改为 664,以允许文件所有者和组用户进行读写操作,同时允许其他用户读取文件:
1chmod 664 /var/www/html/sys/libs/config.php
调整目录权限确保目录 /var/www/html/sys/libs 具有适当的权限,使得 PHP 进程能够访问和写入该目录:
1chm ...
能够免费注册域名的网址首先是dynv6,这个网址能注册dynv6的子域名,也可以把域名托管到dynv6,使用ddns-go进行动态解析,免去了手动更新IPv6地址的麻烦。因为是二级域名,不能托管到cf,还有就是注册方便,不用真实的邮箱就能够注册。
其二就是nic.eu.org,eu.org是1996年开始运营的公益域名服务。其设立的主要目的是为那些无力支付付费域名的高额费用的用户或非盈利组织提供永久(至少在2030年之前不会过期)免费且不限量的顶级域名,每个注册用户都可以申请不限量的eu.org域名而且还可以托管到cf。只有一个缺点,就是申请的审核周期很长(可能长达数个月)。申请的时候需要用到真实的邮箱地址以及可以使用虚拟的个人身份信息。(具体的步骤网上有很多,可以参考 技术爬爬虾,就不过多叙述了,这里主要分享免费域名注册)
第三个就是clouddns.net,ClouDNS是欧洲最大的全球托管DNS服务提供商,包括GeoDNS,Anycast DNS和DDoS保护的DNS。虽然是一个二级域名,但是能够白嫖呀!外加永久buff,这能不心动?注册的时候能够使用QQ邮箱注册,也比较简单 ...
前言最近在玩nas,但是之前把视频和照片都上传到immich了,因为我可以直接在手机中上传照片,但是因为手机内存不够就把视频全删了的,现在只需要把视频下载下来上传到nas中就OK。但是现在问题是immich这东西不支持批量删选视频,只能全选照片和视频,而且一共有50个G的照片和视频,视频只有三百八十几个,手动提取未免太看得起我了。于是现在就有了下载全部内容,然后待会儿就用Python代码批量提取视频到指定文件夹。(前提:安装7.zip解压缩软件并且能够找到安装目录)
Python代码批量提取指定格式的视频1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import osimport subprocessimport glob# 7-Zip 可执行文件路径(请确认 7z.exe 的路径)seven_zip_path = r"D:\APP\7.zip\7-Zip\7z.exe"# 定义包含多个压缩包的文件夹路径zip_folder = ...
博客诞生记终于,我的个人博客上线了!这是一个基于Hexo的博客
Think在无数个调试Bug的夜晚,我常常想起一句话:
“代码不会背叛你,但爱情会。”
作为一个单身程序员,我的情感生活就像未捕获的异常——总是悄无声息地崩溃。但至少,我的博客会一直在这里,记录我的技术成长与人生感悟。
“愿代码与孤独,都能被温柔以待。”
Your browser does not support the video tag.
背景:在做毕业设计的时候发现了使用 Undertow 作为嵌入式服务器上传文件限制的代码不生效,只能上传1MB以内的图片,一旦上传超过1MB的图片就会报错。
代码:123456789spring: datasource: hikari: idle-timeout: 600000 #10 min max-lifetime: 1800000 #30 min servlet: multipart: max-file-size: 10MB max-request-size: 10MB
错误提示:1The maximum size 1048576 for an individual file in a multipart request was exceeded
解决思路:一开始以为是Java代码本地的配置覆盖了application.yml或代码中设置了最大文件,但是排查了很久都没有发现问题。然后又去排查检查是否缺少其他 Spring Boot 自动配置与 Undertow 文件上传大小的配置发生冲突,但是,排查完了发现 ...
错误提示:当使用 Undertow 作为 Spring Boot 嵌入式服务器时,启动应用。会看到有一条 WARN 日志,如下:
1UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
解决方法如下:排除undertow-websockets-jsr依赖如果未使用到 WebSocket 技术,那么可以直接从 spring-boot-starter-undertow 中排除 undertow-websockets-jsr 依赖即可,当然,既然引入了那就肯定能用到,参考第二条。
1234567891011<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> <exclusions> <!- ...