Hero Image
Til

Checklist Design Tuxedo No.2 - A Cocktail Companion MangaMillion debloat.dev — replace the junk 台灣罪犯圖鑑 直轄市及各縣市短期補習班資訊管理系統 各運動種類不適任教練名單 — 案源比對工作表 運動部 - 涉及違法事件不適任教練資訊專區 運動部 - 教練證照查詢系統 CRC 聯合國兒童權利公約資訊網 - 違反兒少法 衛生福利部 - 醫事人員性別事件資訊專區 全國教保資訊網 - 裁罰紀錄查詢 Article We replaced Redis with MySQL for inventory reservations—and it scaled How we tracked down a 16-year-old SQLite bug Database cr-sqlite - Convergent, Replicated, SQLite Dbmate is a database migration tool that will keep your database schema in sync across multiple developers and your production servers. Diagram Turn a codebase or system description into a polished, interactive system map — directly in chat. Editorial diagrams your designer won’t hate. Github Gemma 4 26B-A4B inference in ~2 GB of RAM on any M-series MacBook claude-tap is a local proxy and trace viewer for AI coding agents. Bark is an iOS App which allows you to push custom notifications to your iPhone macOS menu bar app that tells you, in plain English, what each USB-C cable plugged into your Mac can actually do Rebuild the object in a reference image as a code-only, procedural Three.js model. MALWARE RESEARCH HUB Pumpkin is a Minecraft server built entirely in Rust, offering a fast, efficient, and customizable experience. Lody: A shared workspace for the coding agents your team already uses. Boot a virtual iPhone via Apple’s Virtualization.framework using PCC research VM infrastructure. The largest Open-Source UI Library! Community-made and free to use. Made with either CSS or Tailwind. Data intensive science for everyone. MCP fff: A file search toolkit for humans and AI agents. Pre-indexed code knowledge graph, auto syncs on code changes. Present PPT Master — AI generates native PowerPoint from any document Bento — the office suite that fits in a file The slide framework built for agents. Self-Hosted CertMate - Certificate Lifecycle Management Skill Skills for Designers and Engineers. Test Generator Agent Skills for Real Engineers. Straight from my .agents directory. Autonomous game development for Godot, Bevy, and Babylon.js with Claude Code and Codex Taste-Skill - gives your AI good taste. stops the AI from generating boring, generic slop Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0 skill to create best prompts for generating videos with seedance2.0

Hero Image
NGINX 原生 ACME 支持:从根本上重塑 TLS 自动化部署

NGINX 原生 ACME 支持:从根本上重塑 TLS 自动化部署 ngx_http_acme_module NGINX 1.25.1 pre-install # 在 Debian/Ubuntu 系统上安装基础编译工具和 NGINX 依赖 sudo apt update sudo apt install build-essential libpcre3-dev zlib1g-dev libssl-dev pkg-config libclang-dev git -y # 安装 Rust 工具链 (cargo 和 rustc) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env mkdir -pv /app/nginx/{logs,conf,cache, acme} /app/nginx-build cd /app/nginx-build # 克隆 ACME 模块的源码 git clone https://github.com/nginx/nginx-acme.git /app/nginx-build/nginx-acme # 或者 # git clone git@github.com:nginx/nginx-acme.git /app/nginx-build/nginx-acme # 下载 NGINX 源码(请替换为您需要的版本) wget https://nginx.org/download/nginx-1.28.0.tar.gz tar -zxf nginx-1.28.0.tar.gz compile cd nginx-1.28.0 ./configure \ --prefix=/app/nginx \ --error-log-path=/app/nginx/error.log \ --http-log-path=/app/nginx/access.log \ --pid-path=/app/nginx/nginx.pid \ --lock-path=/app/nginx/nginx.lock \ --http-client-body-temp-path=/app/nginx/cache/client_temp \ --http-proxy-temp-path=/app/nginx/cache/proxy_temp \ --http-fastcgi-temp-path=/app/nginx/cache/fastcgi_temp \ --http-uwsgi-temp-path=/app/nginx/cache/uwsgi_temp \ --http-scgi-temp-path=/app/nginx/cache/scgi_temp \ --user=nginx \ --group=nginx \ --with-compat \ --with-file-aio \ --with-threads \ --with-http_addition_module \ --with-http_auth_request_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_mp4_module \ --with-http_random_index_module \ --with-http_realip_module \ --with-http_secure_link_module \ --with-http_slice_module \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_sub_module \ --with-http_v2_module \ --with-http_v3_module \ --with-mail \ --with-mail_ssl_module \ --with-stream \ --with-stream_realip_module \ --with-stream_ssl_module \ --with-stream_ssl_preread_module \ --with-cc-opt='-g -O2 -ffile-prefix-map=/home/builder/debuild/nginx-1.28.0/debian/debuild-base/nginx-1.28.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' \ --with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie' \ --add-dynamic-module=/app/nginx-build/nginx-acme make && \ make modules && \ make install # 运行配置脚本,这里的关键是 --add-dynamic-module # 注意:您需要在这里包含您当前 NGINX 已有的所有编译参数,可以通过 nginx -V 查看 # 编译模块,注意是 make modules 而不是 make install config # /app/nginx/conf/nginx.conf user nginx; error_log error.log debug; pid nginx.pid; load_module modules/ngx_http_acme_module.so; events { worker_connections 1024; multi_accept on; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$host" "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log access.log main; sendfile on; tcp_nopush on; charset utf-8; keepalive_timeout 65; gzip on; resolver 8.8.8.8 1.1.1.1; # 定义一个名为 letsencrypt 的 ACME 颁发机构实例 acme_issuer letsencrypt { # 指定 ACME 服务提供商的目录 URL,这里是 Let's Encrypt 的生产环境 uri https://acme-v02.api.letsencrypt.org/directory; # 提供一个联系邮箱,用于接收 CA 的重要通知(如证书即将过期) contact mailto:security-alerts@aidig.co; # 指定状态文件的存储路径,用于保存 ACME 账户密钥,非常重要 state_path acme/letsencrypt; # 同意服务条款,对于 Let's Encrypt 等 CA 这是必需的步骤 accept_terms_of_service; } # 可选指令 acme_shared_zone,用于存储所有配置的证书颁发者的证书、私钥和挑战数据。该区域默认大小为 256K,可根据需要增加 acme_shared_zone zone=acme_shared:1M; server { listen 443 ssl; server_name ssl.aidig.co; # 步骤一:声明此 server 块启用 ACME,并指定使用上面定义的 letsencrypt 颁发机构 acme_certificate letsencrypt; # 步骤二:使用动态变量加载由 ACME 模块在内存中管理的证书和私钥 ssl_certificate $acme_certificate; ssl_certificate_key $acme_certificate_key; ssl_certificate_cache max=2; # required ngx 1.27.4+ location / { default_type text/plain; return 200 'OK'; } } server { listen 80 default_server; server_name _; # ACME 模块会自动处理 /.well-known/acme-challenge/ 的请求,此 location 用于处理所有其他请求 location / { return 301 https://$host$request_uri; } } }