前后端跨域问题
啥是跨域跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。 跨源 HTTP 请求的一个例子:运行在 https://domain-a.com 的 JavaScript 代码使用 XMLHttpRequest 来发起一个到 https://domain-b.com/data.json 的请求。 出于安全性,浏览器限制脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest 和 Fetch API 遵循同源策略。这意味着使用这些 API 的 Web 应用程序只能从加载应用程序的同一个域请求 HTTP 资源,除非响应报文包含了正确 CORS...
Windows中的符号连接
mklink 命令1234mklink 链接文件 原始文件/目录/D 创建目录符号链接。默认为文件符号链接。/H 创建硬链接而非符号链接。/J 创建目录联接。 特性 /H(硬链接) /D(符号链接) /J(目录链接) 支持目标类型 仅文件 文件或目录 仅目录 跨分区支持 否 是 否 网络路径支持 否 是 否 与目标的关系 共享同一数据,删除链接不影响文件 目标被删除,链接无效 目标被删除,链接无效 生效范围 文件系统 文件系统 文件系统 创建所需权限 无 需要管理员权限 无 性能影响 最低 较低(需要额外解析符号链接) 较低 PowerShell 中的 New-Item12345678# target 为真实位置,path为软链接的位置New-Item -ItemType SymbolicLink -target "C:\Users\iuxt\OneDrive\Appdata\NetSarang Computer" -path...
将ova或qcow2导入到PVE虚拟机
比如我们从 VMware Workstation 导出的虚拟机镜像 (ova 或者 ovf), 如果我想要导入到 proxmox 中, proxmox 默认是不支持导入 OVA 虚拟机的, 可以通过转换虚拟机虚拟磁盘的方法将虚拟磁盘附加到现有的 pve 虚拟机中. 提取 vmdk 虚拟磁盘文件这一步如果是 ova, 则需要用解压缩软件解压一下, 如果是 ovf, 直接就能看到 vmdk 文件 转换虚拟磁盘文件使用工具 qemu-img 进行转换, 如果是导入到 pve, 可以不转换, 使用 qm 命令会自动转换的. 12345# 从另一台PVE导出qcow2可以这样qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--110--disk--0 VM110.qcow2# 从vmdk文件转换可以这样 -c 是压缩qemu-img convert -c -f vmdk myvm-disk1.vmdk -O qcow2 myvm-disk1.qcow2 在 PVE 上创建新的虚拟机此步骤需要记录一下虚拟机的 ID 上传虚拟磁盘文件到...
Windows命令行使用其他用户身份运行
比如说我一个脚本使用管理员权限运行,那么它调用的其他程序默认都是以管理员权限运行的。我想要以普通用户程序来运行,有以下几种方法: runas 方式指定权限运行0x20000 是标准用户权限0x40000 是管理员权限 1runas /trustlevel:0x20000 "wt.exe" 这种方式我测试会造成 wsl 报错“UtilTranslatePathList” 指定用户执行1runas /user:iuxt wt.exe" 这种方式会弹窗让你输入密码(每次) psexecpsexec 是微软官方的一组小工具:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec 需要用到里面的 psexec64.exe 然后调用此工具。 1psexec.exe -u iuxt -p YourPassword C:\Path\To\wt.exe 缺点: 需要在命令行指定用户名和密码(有安全隐患) 运行的时候会有个黑框框一闪而过,并且第一次启动会有个窗口,需要点一下 agree
使用tailscale打通内网
家里有一台群晖 nas, 通过 quickconnect 连接太慢了, 并且有些操作不能通过 quickconnect, 比如直接 smb 挂载目录 群晖 nas 安装群晖国内应用商店已经下架了这个 APP, 你可以尝试着在应用中心搜索 tailscale, 如果可以搜索到, 就直接安装即可. 搜索不到的话, 可以使用离线安装的方式: 到官网下载离线 SPK 包:https://pkgs.tailscale.com/stable/#spks根据你的系统架构来下载包, intel cpu 下载 x86_64 架构的包. 然后进入群晖软件中心, 点击手动安装, 上传 spk 包安装 第一次打开 tailscale 需要登录, 登录页面不支持 quickconnect 远程连接, 所以建议在家配置好 tailscale windows 安装安装成功后, 右键任务栏图标,点击 login 登录 tailscale 账号 登录成功后,可以在官网https://login.tailscale.com/admin/machines 查看到所有的设备和 IP...
查看kubernetes节点的硬件配置
kubectl describe node 可以查看到信息, 这里使用 jq 进行一下数据处理格式化. 1kubectl get node -o json | jq '.items[] | "===========================================", "机器名: \(.metadata.labels."kubernetes.io/hostname") ", "CPU: \(.status.capacity.cpu) 核", "内存大小: \(.status.capacity.memory)"' 输出结果类似于:
爷的青春结束了
前言回忆是抓不到的月光握紧就变黑暗,回忆是美好的,但不要沉迷于回忆,不要尝试安装模拟器去回忆之前的老游戏啦,会浪费现在的时间,童年是找不回来了,过好当下吧。一个在线体验老游戏的网址: https://zaixianwan.app 为啥写这篇文章时间过的太快, 看着身边的东西都变了样,有时候突然想起很久以前玩过的游戏,但是怎么也想不起名字,就算想起来了,搜索引擎都搜不到相关的文章,只能勉强搜到一些包浆了的图,所以还是记录下来,对自己的过去做个记录。 俄罗斯方块机FC 游戏机FC 游戏机指的是任天堂的红白机, 但是在中国普及开来的时候已经是盗版遍地了, 不仅仅是机器盗版, 还有很多盗版游戏, 还记得外星科技等等开发的那些塞尔达? 模拟器网上到处都是, 很多都是在线玩的. 比如 https://zaixianwan.app 一个背景音乐下载网站: https://www.zophar.net/music/ NSFPlay 播放器:https://bbbradsmith.github.io/nsfplay/ 开源 nfs 编辑器:...
找出占用Kubernetes节点磁盘的Pod
有部分开发不规范导致日志写入容器, 在 k8s 环境下导致节点磁盘空间占用过高, 解决方案有: 通过监控告警来提前预防 挂载磁盘, 容器日志写入磁盘 使用自动清理脚本 kubectl 查询每个 pod 占用磁盘空间1kubectl get --raw /api/v1/nodes/10.20.20.12/proxy/stats/summary | jq '.pods[] | "PodName: \(.podRef.name)", "usedBytes: \(.containers[].rootfs.usedBytes)", "======================================================"' 输出结果如图: Docker 相关操作查看容器磁盘占用12345# 节点上查看磁盘使用情况,并安装从大到小排序,可以看到各个容器的占用磁盘空间。docker ps -a --format "table...
Linux里安装crontab并运行
常见的 linux 发行版都自带了 crontab 服务, 但是我们常用的容器镜像是没有的, 不要问我为什么要在容器里运行 crontab…Linux定时执行任务crontabLinux的crontab无法执行的一些问题 CentOS/RedHat 系列安装1yum install -y cronie 配置文件位置后面的 root 是用户名 1/var/spool/cron/root 启动命令12345# 后台运行crond# 前台运行crond -f Ubuntu/Debian 系列安装1sudo apt-get install -y cron 配置文件位置后面的 root 是用户名 1/var/spool/cron/crontabs/root 启动命令12345# 后台运行cron# 前台运行cron -f Alpine安装官方镜像自带了 配置文件位置后面的 root 是用户名 1/etc/crontabs/root 启动命令12345# 前台运行crond -f# 后台运行crond
自动清理日志脚本
公司的业务服务会打日志到磁盘, 程序已经做了日志切割, 时间一长磁盘占满会导致业务异常, 普通的清理逻辑是使用 crontab 定时删除文件, 比如每天 1 点删除创建日期超过 30 天的日志文件, 大部分情况下工作是 OK 的, 但是执行周期太长, 如果当天日志暴增, 不能及时删除文件. 也会有隐患, 优化版脚本如下: 日志清理分以下几种: 历史日志, 并且未在写入的日志, 这种可以直接删除掉. 当前正在写入的日志, 需要清理, 这种不能删除, 可以通过清空文件的方式来释放空间 set -euo pipefail 的作用:set -e: 脚本中有任何一条命令执行失败, 整个脚本就失败set -u: 脚本中的变量有任何一个变量为空, 整个脚本执行失败-o pipefail: 脚本中的管道中任何一条命令执行失败, 也会认为脚本执行失败 脚本内容: 123456789101112131415161718192021222324252627282930313233#!/bin/bashset -uo pipefail# 磁盘的文件系统(df...