无需公网IP,无需手动管理证书更新
本文采用的服务器为debian12
开心的选择0元白嫖😎 cloudflare大气
更改域名NS到cloudflare
按照教程来,这里简略...
安装cloudflare zero trust tunnel
https://one.dash.cloudflare.com/
依次选择Access->Tunnels
按照文档进行安装
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
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
雷池管理页
https://localhost:9443/
ssh映射服务器9443到本机就可以正常打开
修改Tunnels里的端口到80
雷池通用配置->证书管理
到这里就可以使用https打开rsshub页面了,而经过你服务器的流量都是清洗后的流量,更安全
确认https没问题后打开http2,强制https
记得设置雷池源 IP 获取方式, 从HttpHeader中获取,填写X-Forwarded-For
tunnel设置启用http2
到这里就设置ok了,由于雷池自带统计和防护,你可以对站点运行状态以及有没有被滥用有更多的了解