Nginx 实现 GPT 流式传输

核心参数 1proxy_buffering off; 该指令使 Nginx 不缓冲来自上游服务器的响应,而是立即将其发送给客户端。适合需要实时或流式传输数据的场景非常有用,比如实时聊天、流媒体等。 ...

五月 29, 2024

CVE-2008-5161 OpenSSH CBC模式信息泄露漏洞

升级 OpenSSH 从选择一个最新的版本 https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ 1# 获取最新版本 openssh 2wget --no-check-certificate https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz 3 4# 解压 5tar -zxvf openssh-9.7p1.tar.gz 6 7# 安装相关需要组件 8yum -y install pam-devel gcc zlib-devel openssl-devel 9 10# 检查配置 11./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man --with-pam 12 13# 编译安装 14make && make install 编译完成之后会有部分文件中的参数例如 GSSAPIAuthentication 显示不支持,将其删掉即可。 ...

一月 4, 2024

Jaeger 部署与使用

安装 Jaeger Operator 1kubectl create namespace observability 2kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.52.0/jaeger-operator.yaml -n observability 若 rbac-proxy 安装失败,则修改 kube-rbac-prox 镜像地址为 10.101.7.108:80/open_source/kubebuilder/kube-rbac-proxy:v0.13.0 安装 Jaeger 1apiVersion: jaegertracing.io/v1 2kind: Jaeger 3metadata: 4 name: jaeger-prod 5 namespace: observability 6spec: 7 strategy: production 8 storage: 9 type: elasticsearch 10 esIndexCleaner: 11 enabled: true # turn the cron job deployment on and off 12 numberOfDays: 7 # number of days to wait before deleting a record 13 schedule: "55 23 * * *" # cron expression for it to run 14 options: 15 es: 16 server-urls: http://elasticsearch.szhems.svc:9200 17 index-prefix: dev 18 # tls: 19 # ca: /es/certificates/ca.crt 20 # secretName: jaeger-secret 21 # volumeMounts: 22 # - name: certificates 23 # mountPath: /es/certificates/ 24 # readOnly: true 25 # volumes: 26 # - name: certificates 27 # secret: 28 # secretName: quickstart-es-http-certs-public go-zero 每个服务的配置文件下添加Telemetry配置 1Log: 2 ServiceName: platform-api 3 Level: info 4 Stat: false 5 TimeFormat: 2006-01-02 15:04:05 参考资料: ...

十二月 11, 2023

Docker 精简镜像实践

使用精简的基础镜像 Alpine Alpine一个基于 musl libc 和 busybox、面向安全的轻量级 Linux 发行版,压缩体积只有 3M 左右,很多流行的镜像都有基于 alpine 的制作的基础镜像。 scratch scratch 是一个空镜像,如果我们的应用是一个不依赖动态链接库的、包含所有依赖的二进制文件,则可以使用 scratch 作为基础镜像,此时镜像的体积差不多就是二进制文件的体积。 ...

十一月 25, 2023

Docker 网段与主机网段冲突导致网络中断

问题描述 有 IP 地址为 172.24.x.xx/24 的服务器无法 ping 通,原因为 docker 默认网段 172.17.0.0/16 占用了服务器所在网段,导致外部请求无法访问到真实服务器。 解决方案 查看路由信息 1ifconfig docker0 2 3docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 4 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 5 ether 02:42:90:e0:c1:a0 txqueuelen 0 (Ethernet) 6 RX packets 0 bytes 0 (0.0 B) 7 RX errors 0 dropped 0 overruns 0 frame 0 8 TX packets 0 bytes 0 (0.0 B) 9 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 可以看到,docker0 占用的网段为 172.17.0.1/16 ...

十月 9, 2023

Docker 安装与配置

操作系统版本 AlmaLinux 9.3 安装 dnf-utils 1sudo dnf install -y dnf-utils 添加 Docker CE 存储库 1sudo dnf config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 1yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 添加过后,执行列出 Alma Linux上可用存储库的列表 1sudo dnf repolist 把软件仓库地址替换为镜像站 1sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo 安装 Docker CE 1sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 启动并启用 Docker 1sudo systemctl start docker 2sudo systemctl enable docker 配置国内镜像源 1{ 2 "registry-mirrors": [ 3 "https://docker.1panel.live" 4 ] 5} 1sudo systemctl daemon-reload 2sudo systemctl restart docker

八月 11, 2023