CA对比
以下是主流免费 SSL 证书颁发机构(CA)的证书有效期及关键特性对比:
1. Let's Encrypt • 证书有效期:90 天
- 自动续期:支持(通过 ACME 协议,如
acme.sh
) - 通配符证书:支持(需 DNS 验证)
- 特点:
完全免费,开源社区维护,支持多域名(SAN),全球信任度高。
官方主页:letsencrypt.org
以下是主流免费 SSL 证书颁发机构(CA)的证书有效期及关键特性对比:
1. Let's Encrypt • 证书有效期:90 天
acme.sh
)完全免费,开源社区维护,支持多域名(SAN),全球信任度高。
官方主页:letsencrypt.org
温馨提示:本文所述插件仅供学习交流,使用前请确保获得网站主人同意。偷看别人底裤是犯法的,但扒自己网站的底裤...那叫技术探索!
某个月黑风高的夜晚,我正在调试一个满是bug的网站。这个傲娇的网页把数据层层包裹——localStorage穿着保暖内衣,sessionStorage套着羊毛衫,Cookie还裹着三层羽绒服。每次调试都要打开开发者工具扒拉它们,简直比给猫咪穿袜子还费劲!
于是我拍案而起:"是时候发明网页扒裤神器了!"
大家好!今天我们要聊一个运维界的经典问题:如何判断某个端口是否通? 但这次的背景有点特殊——我们身处一个“荒凉”的环境:既没有 telnet
,也没有 nc
,甚至连安装它们的权限都没有。这就好比你被困在一座孤岛上,手里只有一把生锈的小刀,却要修好一艘破船。别慌!今天我来教你几招“土法炼钢”,用现有的工具玩出花样!
想象一下,你正在排查一个网络问题,突然发现目标服务器的某个端口似乎挂了。于是,你满怀希望地输入:
docker 会自动添加一个优先级最高的针对这个映射端口全开放规则。
开启防火墙的 masquerade 包转发功能
centos 系统安装好后运行于主机模式,并没有开启包转发功能。
即系统只处理目的地为本机的数据包,不会转发发往其他地址的数据包。
在内核中有相应配置选项 net.ipv4.ip_forward 默认设置为 0。
可以通过命令 sysctl net.ipv4.ip_forward=1 手动开启包转发功能。
防火墙的 masquerade 功能进行地址伪装(NAT),
私网访问公网或公网访问私网都需要开启此功能来进行地址转换,否则无法正常互访。
通过命令 firewall-cmd --add-masquerade 开启此功能,
开启之后 net.ipv4.ip_forward 的值自动被设置为1,即 centos 启用包转发。
在 docke r启动时添加参数来禁止 docker 对本机防火墙的操作。
通过certbot自动化脚本,自动生成证书,自动续期
使用Vercel,代理http请求
{
"rewrites": [
{
"source": "/backend/(.*)",
"destination": "http://xxxxxx:9088/backend/$1"
}
]
}
由于公开的licence server越来越不好了,所以这里出一篇破解教程。
本教程理论上支持所有jetbrains ide,但我只实验过intellij idea,其他ide请自行测试。
> 大于
< 小于
& &
" 双引号
' 单引号
在数据分析中,我们常常需要将纵向排列的数据转换为横向展示,以便更直观地进行分析或生成报告。这个过程就是 行转列,又称为 Pivot 操作。在 SQL 中,如何将行数据高效转换为列数据是一项非常实用的技巧,无论是生成动态报表,还是在数据透视分析中应用,都能够大显身手。
在这篇博文中,我将带你从零开始,深入理解 SQL 中行转列的原理,并通过常见的数据库示例逐步展示行转列的多种实现方式。
行转列操作可以帮助我们将多行数据转换成不同的列,尤其在处理 数据透视 时非常有用。行转列广泛应用于需要汇总、整理数据的场景,如报表生成和业务分析。
进入仓库目录,执行
#!/bin/sh
git filter-branch -f --env-filter '
OLD_EMAIL="旧邮箱"
CORRECT_NAME="新用户名"
CORRECT_EMAIL="新邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
git config user.name "$CORRECT_NAME"
git config user.email "$CORRECT_EMAIL"
' --tag-name-filter cat -- --branches --tags
执行
git push --force
如果执行1的过程中出错,可以执行下面命令后重试
rm -rf .git/refs/original/
git reflog expire --expire=now --all
或者
git update-ref -d refs/original/refs/heads/master
或者
git filter-branch -f --tree-filter -f 'rm -f test' -- --all
现在有一张标签表,主要有两个字段,member_id和tags。如下:
create table user_tags
(
id serial8 primary key,
member_id int8 not null ,
tags jsonb
);
create index concurrently on user_tags using gin (tags);