Port aus URL ausblenden [HTACCESS, VirtualHost]
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
dank
entnehmen
erfolg
ergebnis
ersetzen
funktionieren
gefallen
helfen
idee
instanz
leiten
parameter
port
quellcode
server
system
testen
umsetzen
vorhaben
weben
-
Hallo liebe Community,
ich betreibe auf meinem Server eine Emby Instanz, dieses ist ein Streaming Server der über den Port 8090 unter der Subdomain media erreichbar ist - also http://media.mysite.de:8090/web.
Mein Vorhaben ist nun den Port aus der URL auszublenden. Dazu sind mir beim Suchen
die Stichwörter Proxy und VirtualHost in die Hände gefallen.
Was ich bereits versucht habe:
RewriteCond %{HTTP_HOST} ^media.mysite.de$ [NC] RewriteRule ^((?!media).*)$ http://media.mysite.de:8090/web/$1 [P,L]
Dieses funktioniert soweit, allerdings werden die Parameter nicht durchgeschleift, so dass man sich in Emby nicht einloggen kann, da die Server-ID fehlt.
Daher leite ich nun provisorisch auf eine HTML-Seite, die ein Frame enthält, das auf die http://media.mysite.de:8090/web zeigt - Dem Quellcode kann man natürlich den Port entnehmen, daher nur provisorisch.
Vielleicht hat ja jemand von euch eine Idee, wie ich das umsetzen könnte.
Viele Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dafür kann man eine reverse proxy nutzen.
https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html -
Hallo horstexplorer,
<VirtualHost *:80> ProxyPass / http://media.mysite.de:8090/ </VirtualHost>
Funktioniert nun, wird jedoch auf jede Subdomain angewendet. Sehr wahrscheinlich wegen des /. Ein .media statt dem / bringt leider nicht das gewünschte Ergebnis. Kannst du mir weiter helfen?
Viele Grüße
Beitrag zuletzt geändert: 9.12.2018 18:57:16 von paulmasters -
Es müsste ja immer angegeben sein als von-nach.
Also '/' steht für alle requests nach 'media....' aber eigentlich möchtest du ja nur 'Media...' an 'ip:port' oder so leiten. -
Habe nun folgende Sachen ausprobiert:
<VirtualHost *:80>
ProxyPass http://media.mysite.de/ http://media.mysite.de:8090/
</VirtualHost>
<VirtualHost *:80>
ProxyPass /media http://media.mysite.de:8090/
</VirtualHost>
<VirtualHost *:80>
ProxyPass media http://media.mysite.de:8090/
</VirtualHost>
Leider ohne Erfolg.
Viele Grüße -
Ich hab leider gerade keine Möglichkeit das zu testen aber wenn beides auf einem System läuft sollte es so gehen:
<VirtualHost *:80> ProxyPass http://media.mysite.de http://localhost:8090/ </VirtualHost>
Damit ist btw nur http und nicht https abgedeckt für den vhost
Beitrag zuletzt geändert: 10.12.2018 12:54:55 von horstexplorer -
Ohne es jetzt testen zu wollen:
Sollte doch funktionieren, oder? Wenn auf Port 8090 SSL genutzt wird, einfach das<VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://media.mysite.de:8090/ ProxyPassReverse / http://media.mysite.de:8080/ ServerName media.mysite.de </VirtualHost>
durch<VirtualHost *:80>
ersetzen. Bei Port 8090 ist das ja nicht so ganz klar, ob SSL genutzt wird.<VirtualHost *:443>
-
Hallo noxious und horstexplorer,
des Rätsels Lösung war das Ergänzen des Server Names, nun funktioniert es.
<VirtualHost *:443> ServerName media.mysite.de ServerAlias www.media.mysite.de ProxyPass / http://media.mysite.de:8090/ [...] </VirtualHost>
Viele Grüße und Danke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage