使用 Letstencrypt 的 Plex 媒体服务器的 SSL 证书

SSL Certs for Plex Media Server using Letstencrypt

我需要一点指导。我想使用我在 No-IP 上使用我的 Plex 媒体服务器生成的主机名获取 https。我可以通过我的主机名连接到我的 plex 媒体服务器,我只是想让 letsencrypt 为其生成安全的 SSL 证书。

我运行以下命令:

sudo su -
./certbot-auto  --webroot "/var/lib/plexmediaserver/Library/Application Support" -d example.com

它 return 出现以下错误:

letsencrypt: error: unrecognized arguments: /var/lib/plexmediaserver/Library/Application Support

如果我运行以下命令:

sudo su -
./certbot-auto certonly --standalone -d example.com

它return出现以下错误:

授权过程失败。 example.com (tls-sni-01): urn:acme:error:unauthorized :: 客户端缺乏足够的授权 :: TLS-SNI-01 质询的验证证书不正确。从 1.2.3.4:443 请求 e1b6ab6aa7251a908a0f2fc1dd6a3597.beae34c6504c7db8412d92c3f1885e08.acme.invalid。收到的证书包含“*.0beedbf17c2042c089ef5e20952e62c8.plex.direct”

我什至不知道那是不是正确的 webroot。我完全不知道从这里去哪里。这是我拼图的最后一步,任何方向都会有所帮助。

注意:这是在 Rasberry pi 3 上 运行ning。

我假设你已经设置了 plex,所以我将跳过那部分,如果没有请看这个 link:wesleysinstructions.weebly.com

  1. 转到 No-IP(或您要用于主机名的任何其他服务)并设置主机名

    • 登录到仪表板。
    • 在边栏上单击“动态 DNS”
    • Select“主机名”
    • 在该页面上单击“添加主机名”按钮 - 填写它,你现在有一个主机名(注意:这需要大约 5 分钟才能激活)
  2. 安装动态 DNS 客户端 link 你的 plex ip 地址(总是在变化)到你的主机名 - Ip.com

    • 注意:他们的网站上有关于如何执行此操作的说明
  3. 在您的路由器端口上将 443/80 转发到您托管 plex 的位置

  • 访问 portforward.com 了解有关您的具体路由器的说明
  1. 通过 SSH 连接到您的 plex 服务器
  2. 通过 LetsEncrypt 安装“certbot”
mkdir ~/certs
cd ~/certs
wget https://dl.eff.org/certbot-auto
sudo chmod a+x certbot-auto
sudo ./certbot-auto certonly --standalone -d <hostname>
  • 注意:这将尝试通过 443 验证主机。
  • 如果一切顺利,您应该会收到如下所示的消息:
Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/<hostname>/fullchain.pem. Your cert
will expire on..
  1. 设置反向 Nginx 代理来提供您的证书。
sudo apt-get update
sudo apt-get install nginx -y
sudo unlink /etc/nginx/sites-enabled/default
sudo nano /etc/nginx/sites-available/reverse

“反向”文件设置如下:

server {
    listen       80;
    server_name  <hostname>;
    rewrite https://$host$request_uri? permanent;

    listen 443 ssl;

    ssl_certificate /etc/letsencrypt/live/<hostname>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<hostname>/privkey.pem;
    #root /usr/share/nginx/html;
    #index index.html index.htm;
    ssl_stapling on;
    ssl_stapling_verify on;

    location / {
            proxy_pass http://127.0.0.1:32400;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  • 注意:这假设您具有使用端口 32400 的默认 plex 设置。

完成设置

sudo ln -s /etc/nginx/sites-available/reverse /etc/nginx/sites-enabled/reverse
sudo nginx -t
sudo service nginx restart

希望我没有输入错误。如果我这样做了,至少这是您需要完成的设置过程。