使用 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
转到 No-IP(或您要用于主机名的任何其他服务)并设置主机名
- 登录到仪表板。
- 在边栏上单击“动态 DNS”
- Select“主机名”
- 在该页面上单击“添加主机名”按钮
- 填写它,你现在有一个主机名(注意:这需要大约 5 分钟才能激活)
安装动态 DNS 客户端 link 你的 plex ip 地址(总是在变化)到你的主机名 - Ip.com
- 注意:他们的网站上有关于如何执行此操作的说明
在您的路由器端口上将 443/80 转发到您托管 plex 的位置
- 访问 portforward.com 了解有关您的具体路由器的说明
- 通过 SSH 连接到您的 plex 服务器
- 通过 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..
- 设置反向 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
希望我没有输入错误。如果我这样做了,至少这是您需要完成的设置过程。
我需要一点指导。我想使用我在 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
转到 No-IP(或您要用于主机名的任何其他服务)并设置主机名
- 登录到仪表板。
- 在边栏上单击“动态 DNS”
- Select“主机名”
- 在该页面上单击“添加主机名”按钮 - 填写它,你现在有一个主机名(注意:这需要大约 5 分钟才能激活)
安装动态 DNS 客户端 link 你的 plex ip 地址(总是在变化)到你的主机名 - Ip.com
- 注意:他们的网站上有关于如何执行此操作的说明
在您的路由器端口上将 443/80 转发到您托管 plex 的位置
- 访问 portforward.com 了解有关您的具体路由器的说明
- 通过 SSH 连接到您的 plex 服务器
- 通过 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..
- 设置反向 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
希望我没有输入错误。如果我这样做了,至少这是您需要完成的设置过程。