Сертификаты SSL для Plex Media Server с использованием Letstencrypt

Мне нужно небольшое направление здесь. Я хочу получить https с моим именем хоста, которое я сгенерировал в No-IP, работающем с моим Plex Media Server. Я могу нормально подключиться через свое имя хоста к своему медиа-серверу plex. Я просто хочу, чтобы letsencrypt генерировал для него безопасные 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 из 1.2.3.4:443. Получен сертификат, содержащий «*.0beedbf17c2042c089ef5e20952e62c8.plex.direct».

Я действительно даже не знаю, правильный ли это веб-сайт или нет. Я в полной растерянности относительно того, куда идти отсюда. Это последний шаг в моей головоломке, и любое направление было бы полезно.

Примечание. Это работает на Rasberry pi 3.


person wesleywh    schedule 13.12.2016    source источник


Ответы (1)


Я предполагаю, что у вас уже есть настройка plex, поэтому я пропущу эту часть, если не посмотрю на эту ссылку: wesleysinstructions.weebly. ком

  1. Перейдите к No-IP (или любой другой службе, которую вы хотите использовать для имени хоста) и настройте имя хоста.

    • Login To the dashboard.
    • На боковой панели нажмите «Динамический DNS».
    • Выберите имена хостов
    • На этой странице нажмите кнопку «Добавить имя хоста» — заполните ее, и теперь у вас есть имя хоста (Примечание: для активации требуется около 5 минут).
  2. Установите клиент Dynamic DNS, чтобы связать ваш IP-адрес plex (который всегда меняется) с вашим именем хоста на No-Ip.com.

    • Note: They have instructions on their website on how to do this
  3. На вашем роутере перенаправьте порт 443/80 туда, где вы размещаете плекс

  • Посетите portforward.com для получения инструкций относительно вашего точного маршрутизатора.
  1. SSH на ваш сервер plex
  2. Установите certbot от LetsEncrypt
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;
    }
}
  • Примечание. Это предполагает, что у вас есть настройка plex по умолчанию, в которой используется порт 32400.

Завершите настройку

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

Надеюсь, я не напечатал ничего неправильно. Если бы я это сделал, по крайней мере, это процесс установки, который вам нужно будет пройти.

person wesleywh    schedule 18.12.2016
comment
Есть ли причина для -1? - person wesleywh; 13.07.2017
comment
Я предполагаю, что они проголосовали за ваш ответ, потому что он не говорит, что вы сделали, но указывает на внешний URL-адрес, который может измениться или исчезнуть. Вот почему желательно скопировать соответствующую часть здесь. - person Alberto González Palomo; 26.07.2017
comment
Хороший момент. Я соберу это и скопирую некоторые из них сюда. - person wesleywh; 27.07.2017