利用Nginx的rewrite来实现自动跳转
任意链接都跳转到指定页面 需要部署一个服务在 Kubernetes 内, 需要实现通过 ingress 可以访问到, 本来是很简单的事情, 但是由于访问来源的 location 不确定,为了避免报错 404,所以用 Nginx 的 rewrite 来实现 Nginx 配置如下(所有 location 转发到 index.html): 12345678910111213server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /var/www/html; index index.html index.htm index.nginx-debian.html; location / { rewrite ^(.*) /index.html break; }} 自动跳转 https配置文件如下: 使用...
使用Obsidian配合Hexo写博客
obsidian 是一款好用的 markdown 编辑器, 用来记笔记还是不错的。 并且支持插件系统,可以通过模板来生成博客的 frontmatter, 省去了 hexo new 的操作 所以准备配置一下用 obsidian 来写博客。 相关文章:静态博客生成工具hexo使用typora更好更快地写hugo博客使用vscode来写hugo博客并处理图片插入问题 打开仓库首先使用 obsidian 打开 source/_posts 目录, 然后会生成一些配置文件。进入 _posts 目录 创建.gitignore 将一些临时文件排除掉。 1.obsidian/workspace.json 配置模板自带的模板插件功能太单一了, 我们关闭安全模式, 安装第三方插件 Templater 创建 Templates 目录,修改配置指定 Template 的目录。修改配置项 Template folder location 为 Templates 然后再此目录下创建 Front-matter.md 文件,此文件用作 hexo 的 frontmatter...
ArchLinux安装记录
官方文档 ArchWiki 已经写的很好了,但是每次安装的时候都要踩坑,所以开个文章记录一下。 磁盘分区与格式化123parted /dev/sda mklabel gpt mkpart ESP fat32 1M 513M set 1 boot on mkpart primary ext4 513M 100% printmkfs.fat -F 32 /dev/sda1mkfs.ext4 /dev/sda2 配置中科大的源配置文档: https://mirrors.ustc.edu.cn/help/archlinux.html 挂载与 chroot 操作chroot 后相当于进入了安装后的系统内进行操作 123456mount /dev/sda2 /mntmount --mkdir /dev/sda1 /mnt/bootpacstrap -K /mnt base linux linux-firmwaregenfstab -U /mnt >> /mnt/etc/fstabarch-chroot /mnt 常用配置配置时区12ln -sf...
Linux神奇的proc目录
让我们看看/proc 里面都有什么 查看进程打开的文件123456789# 查看打开了什么文件# 通过进程名lsof -c more# 通过PIDlsof -p 30149# 也可以通过/proc查看ls -al /proc/30149/fd 查看进程的环境变量和 env 命令查看到的不同,env 查看的是系统的环境变量,可以理解为默认环境变量,但是进程的环境变量可能不一样,比如说: 1A=B vim a.log 这种情况下 vim 进程是有 A 这个环境变量的,可以使用以下命令查看。 1cat /proc/39564/environ | tr '\0' '\n' 内核启动参数1cat /proc/cmdline | tr '\0' ' ' 可执行文件1exe是运行的可执行文件,和上面有一些区别。 limits进程所受到的限制,比如最大文件打开数等。
Fail2ban配合Docker使用解决暴力破解
fail2ban 正常使用可以参考 使用Fail2ban抵御暴力破解和cc攻击,但是对于使用了 Docker host 网络的容器来说是不生效的。原因最后说, 我们先复原一下部署情况 环境现状服务器是我自己的服务器,使用 Nginx 做入口,反向代理到不同的后端,后端服务和 Nginx 都是运行在 Docker 里,使用 Docker 的自定义网络进行互联。其中 Nginx 容器使用的是 Host 网络 配置 fail2ban确定 Docker 版 Nginx 日志路径Linux 内一切皆文件,Docker 会将日志写入到主机的一个日志文件中。通过 1docker inspect nginx --format "{{.LogPath}}" 可以查看到容器的日志位置 创建配置文件 /etc/fail2ban/jail.d/nginx-cc.conf123456789[nginx-cc]enabled = trueport = http,httpsfilter = nginx-ccaction =...
使用Fail2ban抵御暴力破解和cc攻击
fail2ban 是一款防止暴力破解和 cc 攻击的开源工具,采用 Python 编写。 常用组件 工具 作用 fail2ban-client 客户端工具 fail2ban-regex 验证正则匹配 1234567891011# 查看启用的规则fail2ban-client status# 查看规则详情fail2ban-client status sshd# 重新加载配置fail2ban-client reload# 手动解禁IPfail2ban-client set sshd unbanip 192.168.1.1 配置文件目录 作用 /etc/fail2ban/jail.d ban 的规则,如多少次触发,触发后封禁多久等 /etc/fail2ban/filter.d 过滤规则,匹配日志的正则配置 规则测试创建配置文件 /etc/fail2ban/jail.d/nginx-cc.conf 123456789[nginx-cc]enabled = trueport =...
Hyper-V 自动创建虚拟机快照
首先要允许 PowerShell 执行本地脚本文件: 1Set-ExecutionPolicy RemoteSigned PowerShell 脚本内容:(文件需要保存成 GB2312 编码,不然中文乱码,执行报错。) 12345678910111213141516171819202122232425262728293031323334353637$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)# 如果不是管理员,以管理员身份重新运行脚本if (-not $isAdmin) { Start-Process powershell -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File...
Windows下运行服务的几种方式
原生命令 sc微软官方文档: https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create 第三方工具 winsw 2.xhttps://github.com/winsw/winsw/releases/tag/v2.11.0 需要将 winsw 可执行文件和配置文件放在同一目录, 一般放在程序同级目录. 同样以 frpc 为例: service.xml 12345678910111213141516171819202122232425262728293031323334353637383940414243<service> <id>frpc</id> <!-- Display name of the service --> <name>frpc Service (powered by WinSW)</name> <!-- Service description...
Python遍历文件或文件夹
说明root: 当前遍历到的目录, 也就是所在的目录, 字符串dirs: 当前目录下的子目录列表files: 当前目录下的文件列表 比如文件结构 /tmp/1/ : 123451├── file1├── file2├── folder1└── folder2 脚本内容: 1234for root, dirs, files in os.walk("/tmp/1/"): print("root", root) print(dirs) print(files) 输出结果 123456789101112131415161718# 当前的root是/tmp/1/# root下的目录列表为:['folder2', 'folder1']# root下的文件列表为['file2', 'file1']# 遍历到的下一个root, 里面的文件和目录都为空./tmp/1/folder2[][]#...
Python读写文件
使用 Python 读写文件很方便,有多种方法,但是读写大文件还是需要优化的。 python open...