Create rssforever
This commit is contained in:
parent
782786d237
commit
1fdaaa8890
|
@ -0,0 +1,31 @@
|
|||
# ----------------------------------- 默认必须修改项目 ----------------------------------- #
|
||||
# 需修改域名和数据库密码
|
||||
RSS_DOMAIN=rss.yourdomain.com
|
||||
RSSHUB_DOMAIN=rsshub.yourdomain.com
|
||||
POSTGRES_PASSWORD=rssforever.com
|
||||
|
||||
|
||||
# ----------------------------------- 开启 HTTPS 支持 ----------------------------------- #
|
||||
# HTTP/HTTPS 协议,默认为 http 如需使用 HTTPS 需将值改为 https
|
||||
PROTOCOL=http
|
||||
|
||||
|
||||
# ----------------------------------- HTTPS 证书和密钥 ---------------------------------- #
|
||||
# 上传证书文件后,需修改域名证书和密钥的文件名.
|
||||
# 如果 RSS 和 RSSHUB 使用不同证书,需分别修改以下证书和密钥的文件名.
|
||||
# 如果 RSS 和 RSSHUB 使用同一泛域名证书,请修改为同一文件名.
|
||||
|
||||
# RSS 证书和密钥文件名
|
||||
RSS_DOAMIN_CERT=yourdomain.com.cer
|
||||
RSS_DOMAIN_KEY=yourdomain.com.key
|
||||
|
||||
# RSSHUB 证书和密钥文件名
|
||||
RSSHUB_DOAMIN_CERT=yourdomain.com.cer
|
||||
RSSHUB_DOMAIN_KEY=yourdomain.com.key
|
||||
|
||||
|
||||
# ------------------------------------- 镜像和版本 ------------------------------------- #
|
||||
# 镜像和版本,请勿修改删除.
|
||||
NGINX_VERSION=stable
|
||||
TTRSS_IMAGE=wangqiru/ttrss
|
||||
TTRSS_VERSION=latest-2021-05-19
|
190
README.md
190
README.md
|
@ -1 +1,189 @@
|
|||
# rssforever
|
||||
# rssforever
|
||||
## 简介
|
||||
本项目为 Nginx + TTRSS + RSSHub 整合 docker 容器化快速一键部署方案.
|
||||
|
||||
### 前言
|
||||
[rssforever.com](rssforever.com) 为网友提供免费的 RSS 和 RSSHub 服务已经一年有余,由于服务器压力及个人精力有限等原因已停止提供 RSS 服务.鉴于很多新手用户技术有限,特将 nginx , ttrss , rsshub 三个项目整合到 docker compose 中,实现一键部署使用.
|
||||
|
||||
### 特点
|
||||
1. 本项目针对新手用户,提供整合配置,无需繁琐的设置,即使是新手用户最快也只需要几步操作,几分钟即可部署使用.
|
||||
2. 使用 docker compose 编排配置,所有命令,配置及环境变量集中管理,方便维护和迁移.
|
||||
3. 更换服务器也仅需打包备份一个文件夹,迁移解压后一条命令即可恢复使用.
|
||||
|
||||
### 环境需求
|
||||
- 至少 1 核 1G 境外 VPS 服务器 ( 国内服务器由于网络问题,不推荐使用. )
|
||||
- 拥有自己的域名 ( 自行申请泛域名证书可使用 HTTPS 部署 )
|
||||
- 服务器未占用 80/443 端口
|
||||
- 服务器已安装 docker 和 docker compose 环境 ( 未安装可参考下文简易安装指南 )
|
||||
|
||||
> 由于此项目为新手向服务,不支持已被其他服务占用 80/443 端口的服务器.请停止相关服务或更换新服务器部署使用.
|
||||
> 此项目一共会启动 9 个容器,服务器性能不足请不要部署其他应用,并且私有化个人使用.避免服务器压力过大.
|
||||
> 如果服务器上已有 nginx 等占用 80/443 端口的服务,同时又有部署的需求,请联系我进行付费技术支持.
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 部署
|
||||
docker 及 docker compose 必须提前安装到服务器中,相关教程网上很多,也可逐一执行以下 6 条命令安装启动:
|
||||
```shell
|
||||
# 安装 docker
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sudo sh get-docker.sh
|
||||
sudo systemctl start docker
|
||||
sudo systemctl enable docker
|
||||
# 安装 docker compose
|
||||
curl -L https://github.com/docker/compose/releases/download/1.29.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
```
|
||||
安装完成并检查
|
||||
```shell
|
||||
docker -v
|
||||
docker-compose -v
|
||||
```
|
||||
|
||||
### 配置域名解析
|
||||
分别为`RSS`和`RSSHub`两个站点配置两个二级域名,例如`rss.yourdomain.com`和`rsshub.yourdomain.com`.并设置 A 记录或 CNAME 到服务器.
|
||||
|
||||
![01](./01.jpg)
|
||||
|
||||
### HTTP 部署
|
||||
#### 拉取代码
|
||||
```shell
|
||||
git clone https://github.com/stilleshan/rssforever.git
|
||||
# 拉取代码
|
||||
cd rssforever
|
||||
# 进入目录,注意不要修改目录名,否则会导致 watchtower 无法监控容器自动更新镜像.
|
||||
```
|
||||
|
||||
#### 配置 .env 文件
|
||||
修改`.env`文件中`RSS`和`RSSHub`的域名以及数据库密码
|
||||
```shell
|
||||
RSS_DOMAIN=rss.yourdomain.com
|
||||
RSSHUB_DOMAIN=rsshub.yourdomain.com
|
||||
POSTGRES_PASSWORD=rssforever.com
|
||||
```
|
||||
|
||||
#### 启动
|
||||
```shell
|
||||
docker-compose up -d
|
||||
# 再次注意需要在 rssforever 目录下执行
|
||||
```
|
||||
|
||||
#### 完成
|
||||
访问 http://rss.yourdomain.com 使用`admin`和`password`登陆使用,请及时修改密码.
|
||||
访问 http://rsshub.yourdomain.com 并参考[官方文档](https://docs.rsshub.app/)使用.
|
||||
|
||||
### HTTPS 部署
|
||||
#### 拉取代码
|
||||
```shell
|
||||
git clone https://github.com/stilleshan/rssforever.git
|
||||
# 拉取代码
|
||||
cd rssforever
|
||||
# 进入目录,注意不要修改目录名,否则会导致 watchtower 无法监控自动更新容器.
|
||||
```
|
||||
|
||||
#### 配置 .env 文件
|
||||
修改`.env`文件中`RSS`和`RSSHub`的域名以及数据库密码
|
||||
```shell
|
||||
RSS_DOMAIN=rss.yourdomain.com
|
||||
RSSHUB_DOMAIN=rsshub.yourdomain.com
|
||||
POSTGRES_PASSWORD=rssforever.com
|
||||
```
|
||||
|
||||
上传`泛域名`证书和密钥文件至`nginx/ssl`目录下.
|
||||
并以`yourdomain.com.cer`形式命名,证书后缀`cer`或者`crt`等均不影响使用.
|
||||
修改`.env`文件中域名证书和密钥文件名
|
||||
修改`.env`文件中`PROTOCOL=https`
|
||||
具体参考如下:
|
||||
```shell
|
||||
PROTOCOL=https
|
||||
RSS_DOAMIN_CERT=yourdomain.com.cer
|
||||
RSS_DOMAIN_KEY=yourdomain.com.key
|
||||
RSSHUB_DOAMIN_CERT=yourdomain.com.cer
|
||||
RSSHUB_DOMAIN_KEY=yourdomain.com.key
|
||||
```
|
||||
**注意:如果使用单域名证书,请分别将两个域名证书上传至`nginx/ssl`中,分别修改`.env`文件中 RSS 和 RSSHub 域名证书和密钥文件名.**
|
||||
```shell
|
||||
# 单域名参考配置
|
||||
RSS_DOAMIN_CERT=rss.yourdomain.com.cer
|
||||
RSS_DOMAIN_KEY=rss.yourdomain.com.key
|
||||
RSSHUB_DOAMIN_CERT=rsshub.yourdomain.com.cer
|
||||
RSSHUB_DOMAIN_KEY=rsshub.yourdomain.com.key
|
||||
```
|
||||
|
||||
#### 启动
|
||||
```shell
|
||||
docker-compose up -d
|
||||
# 再次注意需要在 rssforever 目录下执行
|
||||
```
|
||||
|
||||
#### 完成
|
||||
访问 https://rss.yourdomain.com 使用`admin`和`password`登陆使用,请及时修改密码.
|
||||
访问 https://rsshub.yourdomain.com 并参考[官方文档](https://docs.rsshub.app/)使用.
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 进阶
|
||||
### 强制跳转 HTTPS
|
||||
如使用`HTTPS`部署,可手动修改`nginx/vhost`目录中的`rss.conf`和`rsshub.conf`第`9`行,将`#`注释符号删除.
|
||||
```nginx
|
||||
return 301 https://rss.yourdomain.com$request_uri;
|
||||
```
|
||||
重启 docker compose 生效
|
||||
```shell
|
||||
# 建议直接停止并在次启动
|
||||
cd rssforever
|
||||
# 进入目录
|
||||
docker-compose down
|
||||
# 停止
|
||||
docker-compose up -d
|
||||
# 启动
|
||||
```
|
||||
|
||||
### 证书更新
|
||||
本项目目前并未配置自动更新证书的功能,今后视情况加入其中.
|
||||
泛域名有效期三个月,请自行续签后覆盖原有证书,执行`docker-compose down`停止服务,并在次执行`docker-compose up -d`启动即可.
|
||||
|
||||
### 高级配置
|
||||
TTRSS 和 RSSHub 可以通过修改`docker-compose.yml`设置环境变量来配置高级功能,详情请参考本文末尾项目官方文档进行修改.
|
||||
值得注意的是本项目的`docker-compose.yml`定制化过多,请慎重修改.
|
||||
通常来说修改`volumes`和`environment`参数来挂载目录,设置一些高级配置并不会对本服务有影响.如诺出现问题请提交`issue`.
|
||||
|
||||
### 备份恢复
|
||||
#### 备份
|
||||
本项目采用 docker compose 部署,所有配置及数据都在`rssforever`目录中,方便备份和迁移.
|
||||
`rss`目录会在项目启动后自动生成,存放`rss`的数据库,不可删除.( 除非希望重新部署 )
|
||||
`rsshub`目录会在项目启动后自动生成,此目录为缓存数据,迁移时可以删除以免占用过大空间.
|
||||
**其他所有文件及目录,如不清楚请不要随意修改和删除,否则会导致服务无法启动.**
|
||||
#### 恢复
|
||||
将域名 A 记录重新指向新服务器,将备份的`rssforever`目录解压进入启动即可.
|
||||
```shell
|
||||
cd rssforever
|
||||
# 进入目录
|
||||
docker-compose up -d
|
||||
# 启动
|
||||
```
|
||||
|
||||
### 初始化
|
||||
如果误操作修改了相关参数导致无法使用,请备份`rss`目录后,删除整个`rssforever`目录.重新按照上文`git clone`拉取代码,修改`.env`文件,在将`rss`移动至`rssforever`下,执行`docker-compose up -d`重新部署.
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 其他
|
||||
### 感谢
|
||||
感谢以下大神提供的项目:
|
||||
- [Awesome TTRSS 官方文档](https://ttrss.henry.wang/)
|
||||
- [Awesome TTRSS GitHub](https://github.com/HenryQW/Awesome-TTRSS)
|
||||
- [RSSHub 官方文档](https://docs.rsshub.app/)
|
||||
- [DIYgod/RSSHub GitHub](https://github.com/DIYgod/RSSHub)
|
||||
|
||||
### 链接
|
||||
- [rssforever.com](https://rssforever.com)
|
||||
- [RSSHub 公共服务](https://rsshub.rssforever.com)
|
||||
- [泛域名证书申请相关文章](https://www.ioiox.com/tag/SSL/)
|
||||
- [新手教程 Nginx + TTRSS + RSSHub 整合 docker 容器化快速一键部署方案](https://www.ioiox.com/archives/133.html)
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
version: "3"
|
||||
|
||||
|
||||
networks:
|
||||
rssforever:
|
||||
|
||||
|
||||
#---------------------------------------- nginx ---------------------------------------- #
|
||||
services:
|
||||
nginx:
|
||||
image: nginx:${NGINX_VERSION}
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
|
||||
- ./nginx/conf/nginx.sh:/nginx.sh
|
||||
- ./nginx/vhost:/etc/nginx/conf.d/vhost
|
||||
- ./nginx/ssl:/etc/nginx/ssl
|
||||
- ./nginx/html:/usr/share/nginx/html
|
||||
environment:
|
||||
- RSS_DOMAIN=${RSS_DOMAIN}
|
||||
- RSS_DOAMIN_CERT=${RSS_DOAMIN_CERT}
|
||||
- RSS_DOMAIN_KEY=${RSS_DOMAIN_KEY}
|
||||
- RSSHUB_DOMAIN=${RSSHUB_DOMAIN}
|
||||
- RSSHUB_DOAMIN_CERT=${RSSHUB_DOAMIN_CERT}
|
||||
- RSSHUB_DOMAIN_KEY=${RSSHUB_DOMAIN_KEY}
|
||||
networks:
|
||||
- rssforever
|
||||
depends_on:
|
||||
- service.rss
|
||||
- rsshub
|
||||
command: ["sh", "-c", "/nginx.sh"]
|
||||
|
||||
|
||||
#---------------------------------------- ttrss ---------------------------------------- #
|
||||
service.rss:
|
||||
image: ${TTRSS_IMAGE}:${TTRSS_VERSION}
|
||||
environment:
|
||||
- SELF_URL_PATH=${PROTOCOL}://${RSS_DOMAIN}
|
||||
- DB_PASS=${POSTGRES_PASSWORD}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- ENABLE_PLUGINS=auth_internal,remove_iframe_sandbox
|
||||
networks:
|
||||
- rssforever
|
||||
stdin_open: true
|
||||
tty: true
|
||||
restart: always
|
||||
|
||||
|
||||
service.mercury:
|
||||
image: wangqiru/mercury-parser-api:latest
|
||||
networks:
|
||||
- rssforever
|
||||
restart: always
|
||||
|
||||
|
||||
service.opencc:
|
||||
image: wangqiru/opencc-api-server:latest
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
networks:
|
||||
- rssforever
|
||||
restart: always
|
||||
|
||||
|
||||
database.postgres:
|
||||
image: postgres:13-alpine
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
volumes:
|
||||
- ./rss/postgres/data/:/var/lib/postgresql/data
|
||||
networks:
|
||||
- rssforever
|
||||
restart: always
|
||||
|
||||
|
||||
#---------------------------------------- rsshub ---------------------------------------- #
|
||||
rsshub:
|
||||
image: diygod/rsshub
|
||||
restart: always
|
||||
ports:
|
||||
- 1200:1200
|
||||
environment:
|
||||
NODE_ENV: production
|
||||
CACHE_TYPE: redis
|
||||
REDIS_URL: 'redis://redis:6379/'
|
||||
PUPPETEER_WS_ENDPOINT: 'ws://browserless:3000'
|
||||
depends_on:
|
||||
- redis
|
||||
- browserless
|
||||
networks:
|
||||
- rssforever
|
||||
|
||||
|
||||
browserless:
|
||||
image: browserless/chrome
|
||||
restart: always
|
||||
networks:
|
||||
- rssforever
|
||||
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
volumes:
|
||||
- ./rsshub/redis-data:/data
|
||||
networks:
|
||||
- rssforever
|
||||
|
||||
|
||||
#---------------------------------------- watchtower ---------------------------------------- #
|
||||
# 每天早上 10 点定时更新 RSSHub , 如无需可注释或删除本段.
|
||||
watchtower:
|
||||
image: containrrr/watchtower:latest
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- WATCHTOWER_CLEANUP=true
|
||||
- WATCHTOWER_SCHEDULE=0 0 10 * * *
|
||||
restart: always
|
||||
command: rssforever_watchtower_1 rssforever_rsshub_1 rssforever_redis_1 rssforever_browserless_1
|
||||
networks:
|
||||
- rssforever
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
|
||||
user nginx;
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
include /etc/nginx/conf.d/vhost/*.conf;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
sed -i -e "/rss.yourdomain.com/s/rss.yourdomain.com/${RSS_DOMAIN}/g" -e "/yourdomain.com.cer/s/yourdomain.com.cer/${RSS_DOAMIN_CERT}/g" -e "/yourdomain.com.key/s/yourdomain.com.key/${RSS_DOMAIN_KEY}/g" /etc/nginx/conf.d/vhost/rss.conf
|
||||
sed -i -e "/rsshub.yourdomain.com/s/rsshub.yourdomain.com/${RSSHUB_DOMAIN}/g" -e "/yourdomain.com.cer/s/yourdomain.com.cer/${RSSHUB_DOAMIN_CERT}/g" -e "/yourdomain.com.key/s/yourdomain.com.key/${RSSHUB_DOMAIN_KEY}/g" /etc/nginx/conf.d/vhost/rsshub.conf
|
||||
nginx -s reload
|
||||
nginx -g 'daemon off;'
|
|
@ -0,0 +1,11 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
Hello World
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,20 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDPDCCAiQCCQCgDNdxnY2O+zANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJD
|
||||
TjELMAkGA1UECAwCQkoxCzAJBgNVBAcMAkJKMRwwGgYDVQQKDBNEZWZhdWx0IENv
|
||||
bXBhbnkgTHRkMRkwFwYDVQQDDBAqLnlvdXJkb21haW4uY29tMB4XDTIxMDUyNTA2
|
||||
MTEyN1oXDTMxMDUyMzA2MTEyN1owYDELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkJK
|
||||
MQswCQYDVQQHDAJCSjEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEZMBcG
|
||||
A1UEAwwQKi55b3VyZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
||||
AQoCggEBAPWLjqI18FYtRbH9z1V/zvkL/TTJQoobUcs7mOYVGQoS+kiyDFkV/xz3
|
||||
B0UZLTzrgjNgsClsyrYp8iQFAxVu5xkPhwu9HjBaF5F3yMJEbImOtcFC5gT2Ymd1
|
||||
qLcRTsXmzGC34g/mTbc/9lvdQ2SXBWo8OPxcuguA/WBEykU99olcnHefqOgcdLmN
|
||||
FRZE5mKmFZuF523GMfYGtRSbS0AKRB4Zom56VOf3wlSwYYqf7fL8/OKIdBujH6U7
|
||||
j3mIWSO6/Vz2esFMX6zAL+PV0lrpiNpW59PHftreYcB1LVQTLwmxFw1Y6YKs/3Ow
|
||||
a07H18ZAnbMDmpJ82bm9xmRS/5uvu/MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
|
||||
AG/kegcZhCowJwR5lSe0hCdYXsWQsOlNnVUKcA1y4uPQni/LbpsgnKH8VH3ATAOQ
|
||||
0aseom71ZhDaxhaTQYGcOeH6y5TlLh/Izx9S9NbxF33JOED6/KnM1uDtZTHc8G9x
|
||||
R6RNEwts4fSybwixlV6bKp/LoLCbNymcBnmUEZb+rGb3quz2VYjqZjTjGU4YZKmu
|
||||
7eQynvD1TihxZ0QBX4ByIl7YfYswNGfJDlOzvijZhLhCniKfHZFNsVZArdorM1XH
|
||||
Dkb5Ec4ycKEINmFc7FxsnwPZxxgx4AiCl1NGOtzN/cPs8tKdPYddBOh9yuV9DWPf
|
||||
P876ey9hKc5/GrCgT181MA==
|
||||
-----END CERTIFICATE-----
|
|
@ -0,0 +1,27 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEogIBAAKCAQEA9YuOojXwVi1Fsf3PVX/O+Qv9NMlCihtRyzuY5hUZChL6SLIM
|
||||
WRX/HPcHRRktPOuCM2CwKWzKtinyJAUDFW7nGQ+HC70eMFoXkXfIwkRsiY61wULm
|
||||
BPZiZ3WotxFOxebMYLfiD+ZNtz/2W91DZJcFajw4/Fy6C4D9YETKRT32iVycd5+o
|
||||
6Bx0uY0VFkTmYqYVm4XnbcYx9ga1FJtLQApEHhmibnpU5/fCVLBhip/t8vz84oh0
|
||||
G6MfpTuPeYhZI7r9XPZ6wUxfrMAv49XSWumI2lbn08d+2t5hwHUtVBMvCbEXDVjp
|
||||
gqz/c7BrTsfXxkCdswOaknzZub3GZFL/m6+78wIDAQABAoIBAFnNxcfb1F+gRSo4
|
||||
+rh5exgo412H8jcSkNK0pFIaC0Nc937Y5505Z0mPq3ABKkNqmv7xcNxltqnzI2U7
|
||||
FAqlug23WRvY+g6TFKWWWq16WvvgXuck8X2FIy5VoPP7d4T3yW3iMuK/x1KrKQ4m
|
||||
GXzTox5ckjbyLvUAIysvXY7/f4hyyDxT28edpl797uQrWqtvBS1B3i62LgL6q6VM
|
||||
/Q3cl3OmFLH8BzpgwHu83dJhFjwq6KPmlMwgBT7IB0Pruk77jRXD7QvUs/Yft45Y
|
||||
5RJ9CIBRB4CZEW9Hts9EZypWta3s4AMlsm4nN9bu/XL32tlcPTO508LbS0yDa5g8
|
||||
WqMQ2CECgYEA/PEnzt/IgvMTroXFy9ZzpTGNnG3pn5N65i1Xk5GFG3aMdCgDcyQO
|
||||
dcUFUht4ElI5TbDSuWduBNkmgulpaNfE5HNwTXBSvHS5NrSe5J0jx1HD6kF4pEx7
|
||||
n98tgu5KjwbGjWF4jJxstNLM1O5qqVd/Xzj5j7E+GeKmVeMDKAj248MCgYEA+IOC
|
||||
OKVLSGBVbhqPahvSDVbJjPHzp76CIALYavRy7IVbjj/Kw5P0zawNmloznE0BtTWV
|
||||
o0Nx78dF6WSLbagKAUXgwpFT3ktaBHOePH60Bsrk6V45V8qkspM5kBKw506wKLbD
|
||||
Tk0C+Z2Uc6eZdAN3+xKb/F5Vh3XI7R4k82FtNBECgYBlg2tUjV9tnpyhiDKP0itr
|
||||
eu24gCwozQmf40aohNiE4xkPbRelWC0terrd7wRLZhB1a6fGnQn8jCH2nDKfzyjH
|
||||
/sRtb8zksXu7xtWWLrKzRc947nm6hq9+xBUB3RyzNibtitbUp9rA33Exa9YGzITj
|
||||
9HvD/YBM5zeWdJtJr/9V/QKBgGYgBP+qTcmsbO8WUyFT1XpN0/3r4ClrDKaDBNTP
|
||||
J/sywnEunfDJeKycq+pmbxcoPi9tmdTB/qx+w6gp/XJOv+3N/ZN3jXOom5GAweIy
|
||||
X2D7OB7+7am6SPxprBoc1D36BEJ2+MPQugxCSaNNmK4oTsIK37dSPOux56Qp4x1x
|
||||
SCNBAoGAD8a2vEMuaaQM78aXLGgOkmlYRRSwxgmAcrkMC4mZtIbQ+5Cwvjowdgme
|
||||
/g5NRGf4rGfQ6RKEQFpi4nMChFEc+m8EQcCptwt/cIE5csZn8Xcys/Y9K4S1BkI4
|
||||
EBE+a9py654NEiFfV/KS5KfA+9syRJKHGLCBVzf7gx0cm2AqGJY=
|
||||
-----END RSA PRIVATE KEY-----
|
|
@ -0,0 +1,59 @@
|
|||
upstream rssforever-rss {
|
||||
server service.rss;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name rss.yourdomain.com;
|
||||
|
||||
# return 301 https://rss.yourdomain.com$request_uri;
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_pass http://rssforever-rss;
|
||||
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
|
||||
client_max_body_size 100m;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
proxy_buffer_size 4k;
|
||||
proxy_buffers 4 32k;
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 64k;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name rss.yourdomain.com;
|
||||
gzip on;
|
||||
|
||||
ssl_certificate /etc/nginx/ssl/yourdomain.com.cer;
|
||||
ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_pass http://rssforever-rss;
|
||||
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
|
||||
client_max_body_size 100m;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
proxy_buffer_size 4k;
|
||||
proxy_buffers 4 32k;
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 64k;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
upstream rssforever-rsshub {
|
||||
server rsshub:1200;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name rsshub.yourdomain.com;
|
||||
|
||||
# return 301 https://rsshub.yourdomain.com$request_uri;
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_pass http://rssforever-rsshub;
|
||||
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
|
||||
client_max_body_size 100m;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
proxy_buffer_size 4k;
|
||||
proxy_buffers 4 32k;
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 64k;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name rsshub.yourdomain.com;
|
||||
gzip on;
|
||||
|
||||
ssl_certificate /etc/nginx/ssl/yourdomain.com.cer;
|
||||
ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
|
||||
|
||||
location / {
|
||||
proxy_redirect off;
|
||||
proxy_pass http://rssforever-rsshub;
|
||||
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Frame-Options SAMEORIGIN;
|
||||
|
||||
client_max_body_size 100m;
|
||||
client_body_buffer_size 128k;
|
||||
|
||||
proxy_buffer_size 4k;
|
||||
proxy_buffers 4 32k;
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 64k;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue