2

我在这里需要一点方向。我想用我在 No-IP 上生成的主机名与我的 Plex 媒体服务器一起使用 https。我可以通过我的主机名连接到我的 plex 媒体服务器,我只想让 letencrypt 为其生成安全的 SSL 证书。

我运行以下命令:

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

它返回以下错误:

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

如果我运行以下命令:

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

它返回以下错误:

授权程序失败。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 上运行的。

4

1 回答 1

2

我假设您已经进行了 plex 设置,所以如果不查看此链接,我将跳过该部分:wesleysinstructions.weebly.com

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

    • 登录到仪表板。
    • 在侧边栏上单击“动态 DNS”
    • 选择“主机名”
    • 在该页面上单击“添加主机名”按钮 - 填写此内容,您现在就有了一个主机名(注意:这需要大约 5 分钟才能激活)
  2. 安装动态 DNS 客户端,将您的 plex ip 地址(始终在变化)链接到您在 No-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

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

于 2016-12-18T22:00:34.447 回答