我在这里需要一点指导。我想使用在我的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/

10-11 04:40