使用nginx反代前后端分离的emby
本文最后更新于275 天前,其中的信息可能已经过时

-使用Debian12
(需要提前准备一个已经解析好的域名)

安装nginx

  1. 更新系统的软件包列表
    首先,确保系统的包管理器有最新的软件包列表:
sudo apt update<br>sudo apt upgrade
  1. 安装 Nginx
    在 Debian 12 上可以直接使用 apt 来安装 Nginx:
sudo apt install nginx
  1. 启动并启用 Nginx
    安装完成后,启动 Nginx 服务,并设置为开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx

然后浏览器输入自己vps的ip地址检查nginx是否启动成功

申请证书

使用 Let’s Encrypt 获取证书可以通过 certbot 工具完成:

  1. 安装 certbot:
sudo apt install certbot python3-certbot-nginx
  1. 运行 certbot 并为 Nginx 生成证书:
sudo certbot --nginx

这个命令会自动为你的域名生成证书,并更新 Nginx 的配置,也会自动续签证书

然后就是修改Nginx配置文件,因为我是轻量应用,就直接在nginx.conf中修改。
文件目录为/etc/nginx/nginx.conf
内容如下(和nginx默认不太一样,可以删除原有内容复制下方内容以免奇奇怪怪的报错)需要自己修改的地方为中文内容,域名无需加端口号

user www-data;
worker_processes auto;
pid /run/nginx.pid;
error_log /var/log/nginx/error.log;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {
    # Global settings
    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;
    # server_tokens off;

    # Enable Gzip compression
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # SSL settings
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_buffer_size 4k;

    # Logging settings
    access_log /var/log/nginx/access.log;

    # Map directive for upgrade connections
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    # Define proxy cache path
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

    # Virtual host configurations
    server {
      listen 80;
       # 你的域名
       server_name 你的域名; 
       return 301 https://$host$request_uri;
       location / {
          # 你需要反代的emby服务器域名
          proxy_pass https://emby服务器的域名; 
     } 
    }  
    map $http_upgrade $connection_upgrade {
       default upgrade;
       ''      close;
    }
    server {
       listen 443 ssl http2;
       # 你的域名
       server_name 你的域名;
       # 你的证书
       ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;

       client_max_body_size 20M;
       add_header X-Frame-Options "SAMEORIGIN";
       add_header X-XSS-Protection "1; mode=block";
       add_header X-Content-Type-Options "nosniff";

       location / {
           # 你需要反代的emby服务器域名
           proxy_pass https://emby服务器的域名;
           # 你需要反代的emby推流地址
           proxy_redirect https://推流地址/ https://你的域名/s1/;
           # 你需要反代的emby服务器主页
           proxy_set_header Referer "https://emby服务器的域名/web/index.html"; 
           proxy_set_header Upgrade $http_upgrade; 
           proxy_set_header Connection $connection_upgrade;
           proxy_set_header Host $proxy_host; 
           proxy_ssl_server_name on; 
           proxy_http_version 1.1;
       }

       location /s1 {
           rewrite ^/s1(/.*)$ $1 break;
           # 你需要反代的emby推流地址
           proxy_pass https://推流地址/;
           proxy_set_header Referer "https://emby服务器的域名/web/index.html";
           proxy_set_header Host $proxy_host;
           proxy_ssl_server_name on;
           proxy_buffering off;
       }
    }
 }

该配置文件修改自大佬lateautumn2

完成所有更改后,测试并重新加载 Nginx 配置:

sudo nginx -t<br>sudo systemctl reload nginx

这样,就成功完成了emby的反代配置,浏览器输入自己的域名访问即可👏

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇