Прочитал High quality SSL certificates for all media servers и не понял, что же они имеют в виду. На моём сервере установлен свой самоподписанный сертификат, который обслуживает ownCloud и всё такое. Но он применяется только к портам 80/443, и не 32400 на котором висит Plex.
Я захожу на свой сервер Plex по прямой ссылке на свой сервер (не plex.tv, а example.com:32400/web ), чтобы смотреть видео.
Пробовал включать поддержку SSL в настройках Plex, но при любых раскладах там у меня терялся доступ к Plex, т.к. писал ошибку сертификата. Даже через plex.tv не мог зайти на сервер.
Что же значит упомянутая функция “We’ve teamed up with DigiCert to provide high quality SSL certificates for your media servers, at no cost to you.”, как включить поддержку сертификатов для своего сервера? И бесплатно ли это (подразумеваю, что да, т.к. нет шильдика PlexPass)?
я захожу через app.plex.tv и все идет по https, как я понимаю смысл всей этой затеи в том чтобы использовать app.plex.tv по https, а сертификат выдается на <многоцифр>.plex.direct
в blog.filippo.io/how-plex-is-doing-https-for-all-its-users/ есть более подробное техническое описание что они собственно сделали и как оно работает
В плексе вообще молодцы Вкратце о технологии:
Они создали домен типа *.plex.direct и для каждого сервера создают субдомен типа ip.hash.plex.direct связывая его с айпи каждого сервера каждого пользователя. Соответственно на все эти субдомены подключен сертификат wildcard *.plex.direct
Все это работает на устройствах и через app.plex.tv. В случае же прямой ссылки на сервер (через локал или внешний айпи - ни о каком SSL речи не идет).
Но у меня почему-то не работает. Почему - пока не понимаю.
Сервер доступен только если в настройках Сеть выставить в Выключено для TLS/SSL.
Пока даже не пойму, куда копать. Версия сервера последняя, должна поддерживать. Сервер перезапускал. Что ещё? Как проверить?
Но у меня почему-то не работает. Почему - пока не понимаю.
Сервер доступен только если в настройках Сеть выставить в Выключено для TLS/SSL.
Пока даже не пойму, куда копать. Версия сервера последняя, должна поддерживать. Сервер перезапускал. Что ещё? Как проверить?
Давай по порядку! Что именно не работает? У тебя сервер доступен по какому-то внешнему домену, который привязан к IP сервера и ты через него заходишь? В это случае SSL не будет работать.
Только через app.plex.tv и только через субдомены plex.direct
Давай по-порядку, если получится разобраться, я буду очень благодарен. Я понял твой второй вопрос, но нет, даже через app.plex.tv не работает.
Что есть:
PMS сервер версии 0.9.12.8 на Ubuntu Server 15.04 - должно быть ОК
внешний ip с привязанным доменом тоже в наличии - должно быть ОК
на роутере естественно проброшен порт 32400 - ОК
на той же машине крутится apache2 который слушает 80 и 443 и форвардит все запросы 80 на 443 с самоподписанным сертификатом - должно быть ОК, влиять по-идее никак не должно
Что пробую:
в настройках сервера Сеть устанавливать Secure connections в “Выключено” - всё работает и по своему домену domain:32400/web, и по app.plex.tv/web, но зелёного замочка нет, что значит сервер работает только по http
в настройках сервера Сеть устанавливать Secure connections в “Требуется” или “Preferred” - НЕ работает ни по своему домену, ни по plex.tv. Не работает, значит пишет, что сервер не доступен или не работает.
Т.о. отвечая на твой вопрос, при установке Secure connections в любое положение отличное от Выключено, сервер становится не доступен для web-клиента, и для app на Android, кстати, тоже.
Да, эту статью читал, спасибо.
Я не специалист в DNS Rebinding, но это не должно быть проблемой, ведь можно сколько угодно записей адресов зарегистрировать на один и тот же IP-адрес. Как бы это проверить? И имеет ли смысл?
Вообще этот DNS Rebinding это форма атаки, когда через исполнение кода на доверенной странице выполняется доступ к внутренним ресурсам сети, как я понял. Это должно быть, по-идее, всё учтено в Plex… Хм…
Какие есть идеи куда копать или что попробовать?
У меня пока мысли о том, что :
Мой роутер может не поддерживать эту штуку, но это я сильно сомневаюсь. Не знаю как и что именно проверять.
Мой провайдер жёстко прописал DNS серверы в настройках роутера (мне их не изменить). Возможно, они блокируют как-то это на своих DNS-серверах. Поддержка у провайдера отстойнейшая (и звонок платный), так что к ним обращаться в крайнем случае буду.
Что-то глючит в моей установке PMS, может, конфликт с настройками Apache или в самом сервере. Пока не знаю куда копать. Может, по открытому Plex работает на порту 32400, а на TLS по 443, а мой сервер 443 порт заворачивает на Apache?..
Что-то в настройке роутера, например, с пробросом или открытием портов. Тут тоже пока не знаю, что ещё сделать. 32400 уже проброшен до сервера. По незащищённому каналу всё работает…
Докладываю статус. Последовал совету: удалил проброс порта 32400 на своём роутере, отключил галку в Plex о принудительном использовании этого порта, установил использование Secure connections в значение Preferred (не обязательно но желательно) и, о чудо, сервер сам соединился через другой какой-то левый порт, и TLS шифрование заработало! Так что сидя вечером в темноте я лицезрел зелёный замочек в интерфейсе.
~~Однако сегодня придя на работу… я обнаружил, что веб-интерфейс app.plex.tv/web не может соединиться с сервером! В то же время приложение на Android успешно соединяется (даже по TLS). “К сожалению, мы не смогли подключиться к этому серверу”
Что же это значит, провайдер или корпоративная сеть на работе блокирует ту часть Plex, которая напрямую соединяется по TLS через неизвестный порт? Но раньше (вчера еще) по прежней схеме всё работало!..~~
UPD: Проверил не через корпоративную сеть: действительно, всё работает как надо. Решением было отключить принудительное использование порта 32400 в Plex. А на работе не работает именно из-за настроек сети, видимо, им почему-то не нравятся те массовые сертификаты, и апп не может соединиться с сервером напрямую. А несекьюрно не переключается работать. Вот так.