我在这里需要一点指导。我想使用在我的Plex Media Server上使用No-IP生成的主机名获取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质询的验证证书不正确。要求e1b6ab6aa7251a908a0f2fc1dd6a3597.beae34c6504c7db8412d92c3f1885e08.acme.invalid from 1.2.3.4:443。收到的证书包含'* .0beedbf17c2042c089ef5e20952e62c8.plex.direct'
我什至不知道那是不是正确的webroot。关于从这里去哪里我完全迷失了。这是我的难题的最后一步,任何方向都将有所帮助。
注意:这是在Rasberry pi 3上运行的。
最佳答案
我知道了我写了一个关于整个端到端设置的博客。我知道这可以帮助很多人做同样的事情。
一探究竟:
wesleysinstructions.weebly.com
编辑:
我假设您已经进行了plex设置,因此,如果不查看链接,我将跳过该部分。
转到No-IP(或您要用于主机名的任何其他服务)并设置主机名
登录到仪表板。
在边栏上单击“动态DNS”
选择“主机名”
在该页面上,单击“添加主机名”按钮
填写该信息,您现在有了一个主机名(注意:激活大约需要5分钟)
安装动态DNS客户端以将plex ip地址(始终在变化)链接到No-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 updatesudo apt-get install nginx -ysudo unlink /etc/nginx/sites-enabled/defaultsudo 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
希望我没有输入任何错误。如果我至少做了此设置过程,则需要完成。
关于ssl - 使用Letstencrypt的Plex Media Server的SSL证书,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41113784/