Frp内网穿透访问emby之Nginx反代篇
安装Nginx和Certbot
首先在你的阿里云VPS上安装Nginx和Certbot(用于获取Let's Encrypt证书)
# 更新系统
sudo apt update
sudo apt upgrade -y
# 安装Nginx
sudo apt install nginx -y
# 安装Certbot和Nginx插件
sudo apt install certbot python3-certbot-nginx -y创建nginx配置文件
进入配置文件
vim /etc/nginx/sites-available/emby.conf将下面内容对应修改后填写进去
server {
listen 80;
server_name [你的域名];
#关闭nginx缓存,有消息直接发送客户端,适合流媒体
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8080; #自定义端口,需与frps的vhost_http_port端口一致
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}}创建符号链接启用该配置
sudo ln -s /etc/nginx/sites-available/emby.conf /etc/nginx/sites-enabled/使用Certbot获取SSL证书
Certbot会自动修改Nginx配置,添加SSL相关设置并重定向HTTP到HTTPS
sudo certbot --nginx -d [你的域名]Let's Encrypt证书有效期为90天,设置自动续期
sudo crontab -e添加以下内容
0 12 * * * /usr/bin/certbot renew --quiet验证Nginx配置并重启
sudo nginx -t
sudo systemctl restart nginxFrps服务端配置添加
vhost_http_port 自定义端口,用于转发nginx和frps数据,须与nginx配置文件中的proxy_pass端口保持一致
改完配置记得重启systemctl restart frps
[common]
vhost_http_port = 8080 Frpc客户端配置调整
改完配置记得重启systemctl restart frpc
[emby_web]
type = http
local_ip = 127.0.0.1
local_port = 8096
custom_domains = [你的域名]访问逻辑图
至此,群晖内网的相关端口可以关闭转发了
取而代之:访问url为 https://[你的域名] 不需要在后缀增加端口号,https默认端口443

最终完整的nginx配置文件
#强制HTTPS
server {
listen 80;
server_name [你的域名];
return 301 https://$host$request_uri;}
server {
listen 443 ssl;
server_name [你的域名];
# SSL 配置
ssl_certificate /etc/letsencrypt/live/[你的域名]/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/[你的域名]/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# 代理配置
location / {
proxy_pass http://127.0.0.1:8080[自定义端口,需与frps的vhost_http_port端口一致];
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 hongdou的折腾笔记
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果