Möchte man seinen lokalen Plex Media Server auch von außen zugreifbar machen, geht dies am besten über einen Reverse-Proxy.
Der folgende Teil meiner nginx Konfiguration, sorgt für reibungslosen betrieb auf meinem Odroid XU4. Man beachte dass hier der Rumpf mit den Listenern auf Port 80/443 fehlt. Sowie die Umleitung von Port 80 auf 443.
#Die folgende Regex Regel setzt eine Alias für die Datei plex.js.
#Dies ist nötig, um Plex Transcoding auf ARM-basierter Hardware
#zu aktivieren. (Die referenzierte plex.js muss ebenfalls modifiziert werden)
location ~ ^/web/js/plex.js(.*)$
{
alias /usr/lib/plexmediaserver/Resources/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js;
}
location / {
#Die folgenden Regeln sorgen dafür, dass ihr automatisch auf /web/index.html umgeleitet werdet
#Umleiten, wenn kein OPTIONS request
if ($request_method != OPTIONS ) {
set $test A;
}
if ($http_x_plex_device_name = '') {
set $test "${test}B";
}
if ($arg_X-Plex-Device-Name = '') {
set $test "${test}C";
}
if ($test = ABC) {
rewrite ^/$ https://$http_host/web/index.html;
}
#Folgende Adresse:Port, ist die Adresse eures lokalen PlexMediaServers
proxy_pass http://127.0.0.1:32400;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 36000s; # Timeout nach 10 Stunden
#Setzt eine HTTP Authentifizierung
auth_basic "Bitte Anmelden";
auth_basic_user_file /etc/nginx/htpasswd;
}
Die hier gezeigte Konfiguration verwendet auth_basic zur einfachen HTTP Authentifizierung. Dies ist nur empfehlenswert, wenn man über SSL(443) auf Plex zugreift. Das auth_basic_user_file kann dabei mithilfe einer der folgenden Befehle generiert werden. Weitere Informationen zu Auth Basic
htpasswd -nbd myName myPassword
openssl passwd -crypt myPassword