自从发现了1panel
这个面板工具之后,我一直以来都是使用它来管理我的小鸡(VPS),真的好用爱用。但是奈何很多小鸡其内存不是特别大,为了避免其内存溢出导致启动回收机制(卡顿),打算跟着GPT4o学习一下,刚好买了瓦工的盒子Pro,正好练手试试,同时记录下来整个过程,以便后续使用。
OpenResty 是基于 Nginx 的一个增强版 Web 服务器,它本质上是 Nginx + LuaJIT + 一系列 Lua 扩展模块 的集成版本。因为在1panel上一直使用这个,并且能满足我的日常所需,所以还是继续使用这个。
我直接使用的root用户,如果不用root,需要加上sudo执行。
先阐述一下我的需求:通过反向代理访问我的jellyfin服务器,让我的家人伙伴可以直连看剧。假设我的域名为A.com,通过tv.a.com反向代理到jellyfin服务器(100.100.100.100:3200),同时这个域名的放在/root/ssl-key目录下,文件分别为fullchain.pem和privkey.pem,下面是配置这个反向代理的步骤:
一、前期准备
1.1 添加 OpenResty APT 源
apt update
apt install -y curl gnupg2 ca-certificates lsb-release
curl -fsSL https://openresty.org/package/pubkey.gpg | gpg --dearmor -o /usr/share/keyrings/openresty.gpg
echo "deb [signed-by=/usr/share/keyrings/openresty.gpg] https://openresty.org/package/debian $(lsb_release -sc) openresty" | tee /etc/apt/sources.list.d/openresty.list
1.2 安装 OpenResty
apt update
apt install -y openresty
1.3 上传SSL证书
mkdir ssl-key
上传fullchain.pem和privkey.pem到这个目录/root/ssl-key
1.4 域名解析
别忘了去做好域名解析到这台机器,不然容易出现全部配置完毕,但就是访问不通,万一再遇到脑子没转过弯就容易被劝退
二、配置OpenResty 作为反向代理
默认的OpenResty 配置文件路径为:
/usr/local/openresty/nginx/conf/nginx.conf
我的网站配置放在 /etc/openresty/conf.d/
目录下
2.1 创建站点配置文件
mkdir -p /etc/openresty/conf.d
vim /etc/openresty/conf.d/tv_a_com.conf
反代内容
server {
listen 80;
server_name tv.a.com;
# 自动重定向 HTTP 到 HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name tv.a.com;
ssl_certificate /root/ssl-key/fullchain.pem;
ssl_certificate_key /root/ssl-key/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://100.100.100.100:3200;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
2.2 修改 OpenResty 主配置文件并重启服务
vim /usr/local/openresty/nginx/conf/nginx.conf
#在http模块中加入下列内容
include /etc/openresty/conf.d/*.conf;
/usr/local/openresty/nginx/sbin/nginx -t #检查配置
systemctl restart openresty #重启服务
三、防火墙放行
iptables:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
如果使用ufw:
ufw allow 80/tcp
ufw allow 443/tcp
最后打开浏览器,输入tv.a.com,跳转成功,输入帐号密码就可以愉快的观看了。
最后再谈谈为啥我明明本地有NAS了,但还是要自己搞个jellyfin
服务呢,主要原因是现在运营商在限制PCDN,导致PT玩家遭到AOE波及。为了避免家里的宽带被限速,现在用这个”吃灰“的独服跑jellfin和pt的服务,独服提供的上行带宽大(共享G口,家里只有100M),只要我搭建好线路机就能家人朋友同时观看而不卡顿,当然只有1TB的硬盘容量只能放当下自己要看的剧,收藏项只能还是放在本地NAS,完美的再一次说服了自己要续费了,挺好。