无需公网 IP, 无需手动管理证书更新
本文采用的服务器为 debian12
- 注册 cloudflare 账号
控制面板添加你的域名 add site
开心的选择 0 元白嫖😎 cloudflare 大气
-
更改域名 NS 到 cloudflare
按照教程来,这里简略... -
安装 cloudflare zero trust tunnel
https://one.dash.cloudflare.com/
依次选择 Access->Tunnels
按照文档进行安装
- 安装完成后选择 Public Hostname-> 添加你自己的域名
这里举个例子,添加自己的子域名
Http Header 带上完整子域名
-
安装 docker
Using apt (debian based)# Add Docker's official GPG key: apt-get update apt-get install ca-certificates curl gnupg -y install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null apt-get update apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
-
编写 docker-compose 文件
新建一个 rsshub 文件夹,打开,新建 docker-compose.yml
更改 ACCESS_KEY
services:
rsshub:
image: diygod/rsshub
container_name: "rsshub"
restart: always
ports:
- '1200:1200'
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: 'redis://redis:6379/'
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
DEBUG_INFO: false
ALLOW_LOCALHOST: false
ACCESS_KEY: your_pass_key_here
depends_on:
- redis
- browserless
browserless:
image: browserless/chrome
container_name: "browserless"
restart: always
ulimits:
core:
hard: 0
soft: 0
redis:
image: redis:alpine
container_name: "redis"
restart: always
volumes:
- redis-data:/data
volumes:
redis-data:
保存,然后 docker compose up -d
服务启动了,打开你的域名,应该会显示 rsshub 默认页面
部署完成,后续使用自己的订阅源时使用 https://${你的域名}/${订阅路径}?key = 你的 ACCESS_KEY
进阶玩法:
使用雷池增加一层本机 waf
- 卸载本机的 nginx/apache/caddy 相关,释放 80 443 端口占用
- 安装雷池
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
雷池管理页
https://localhost:9443/
ssh 映射服务器 9443 到本机就可以正常打开
- 雷池里添加 80 端口域名,回源
修改 Tunnels 里的端口到 80
- 雷池添加证书
雷池通用配置 -> 证书管理
- 雷池里添加 443 端口
使用证书
修改 Tunnels 里的端口到 443
到这里就可以使用 https 打开 rsshub 页面了,而经过你服务器的流量都是清洗后的流量,更安全
确认 https 没问题后打开 http2, 强制 https
记得设置雷池源 IP 获取方式,从 HttpHeader 中获取,填写 X-Forwarded-For
tunnel 设置启用 http2
到这里就设置 ok 了,由于雷池自带统计和防护,你可以对站点运行状态以及有没有被滥用有更多的了解