免费https证书、自动续期

CA对比

以下是主流免费 SSL 证书颁发机构(CA)的证书有效期及关键特性对比:

1. Let's Encrypt • 证书有效期:90 天

  • 自动续期:支持(通过 ACME 协议,如 acme.sh
  • 通配符证书:支持(需 DNS 验证)
  • 特点:

完全免费,开源社区维护,支持多域名(SAN),全球信任度高。

官方主页:letsencrypt.org


Rocky大约 6 分钟acmecertbothttps证书
手把手教你制作Cookie、Local、Session数据导出插件

温馨提示:本文所述插件仅供学习交流,使用前请确保获得网站主人同意。偷看别人底裤是犯法的,但扒自己网站的底裤...那叫技术探索!

一、缘起:当网页开始穿秋裤

某个月黑风高的夜晚,我正在调试一个满是bug的网站。这个傲娇的网页把数据层层包裹——localStorage穿着保暖内衣,sessionStorage套着羊毛衫,Cookie还裹着三层羽绒服。每次调试都要打开开发者工具扒拉它们,简直比给猫咪穿袜子还费劲!

于是我拍案而起:"是时候发明网页扒裤神器了!"

二、扒裤三件套制作指南


Rocky大约 4 分钟
在没有 telnet 和 nc 的世界里,如何优雅地判断端口是否通?

大家好!今天我们要聊一个运维界的经典问题:如何判断某个端口是否通? 但这次的背景有点特殊——我们身处一个“荒凉”的环境:既没有 telnet,也没有 nc,甚至连安装它们的权限都没有。这就好比你被困在一座孤岛上,手里只有一把生锈的小刀,却要修好一艘破船。别慌!今天我来教你几招“土法炼钢”,用现有的工具玩出花样!

背景:一场“残酷”的限制

想象一下,你正在排查一个网络问题,突然发现目标服务器的某个端口似乎挂了。于是,你满怀希望地输入:


Rocky大约 6 分钟
CentOS7下Docker端口映射后防火墙失效

背景

  1. Docker 容器添加端口映射后,会自动添加系统防火墙规则,将端口开放给所有ip访问。
  2. 使用 firewall-cmd 命令无法查看和管理 Docker 添加的防火墙规则。
  3. 使用 iptables 能查看该规则,但对其管理无效(firewalld 底层认识 iptables ,重启 firewalld 服务规则复原)

原因

docker 会自动添加一个优先级最高的针对这个映射端口全开放规则。

解决方案

  1. 开启防火墙的 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 启用包转发。
    
  2. 在 docke r启动时添加参数来禁止 docker 对本机防火墙的操作。


Rocky大约 3 分钟
https和http混用解决办法

https和http混用解决办法

  1. 通过certbot自动化脚本,自动生成证书,自动续期

  2. 使用Vercel,代理http请求

    {
      
      "rewrites": [
        {
          "source": "/backend/(.*)",
          "destination": "http://xxxxxx:9088/backend/$1"
        }
      ]
    }
    

Rocky大约 2 分钟
JetBrains IDE 全破解

由于公开的licence server越来越不好了,所以这里出一篇破解教程。

本教程理论上支持所有jetbrains ide,但我只实验过intellij idea,其他ide请自行测试。

image.png
image.png

正文


Rocky大约 3 分钟jebrainsjetbrains
行转列不再复杂:SQL高手都在用的技巧揭秘

背景

在数据分析中,我们常常需要将纵向排列的数据转换为横向展示,以便更直观地进行分析或生成报告。这个过程就是 行转列,又称为 Pivot 操作。在 SQL 中,如何将行数据高效转换为列数据是一项非常实用的技巧,无论是生成动态报表,还是在数据透视分析中应用,都能够大显身手。

在这篇博文中,我将带你从零开始,深入理解 SQL 中行转列的原理,并通过常见的数据库示例逐步展示行转列的多种实现方式。

行转列是什么

行转列操作可以帮助我们将多行数据转换成不同的列,尤其在处理 数据透视 时非常有用。行转列广泛应用于需要汇总、整理数据的场景,如报表生成和业务分析。


Rocky大约 4 分钟
Git历史记录修改用户名和邮箱
  1. 进入仓库目录,执行

    #!/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
    
    
  2. 执行

    git push --force
    
  3. 如果执行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
    

Rocky大约 2 分钟gitgit
PGSQL GIN索引“失效”

问题背景

现在有一张标签表,主要有两个字段,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);

Rocky大约 7 分钟PGSQLGIN索引PGSQLgin_clean_pending_list
2
3
4
5
...
15









  • 随机毒鸡汤:现在看来用生日做密码,还是很安全的,毕竟没有人记得你生日。