Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Hallo ich habe einen Debian Vserver für ein Webradio.
Darauf laufen Icsecast und das Auto DJ Airtime. Airtime braucht den Apache.
Nun ist das so das Icecast auf Port 8000 sendet was bei vielen Zuhörern für Probleme mit der Firewall sogt. Deshalb biegen alle Webradios den Stream auf Port 80 um.
Da wie gesagt der Apache auch auf Port 80 arbeitet, kann ich also nicht einfach im Icecast den 80 angeben.
Apache Proxy. mod_proxy ist ungeeignet da er bei mehreren Zuhörern in die Knie geht.
Wie kann man das am besten machen das der Stream auf Port 80 umgeleitet wird?
Besten Dank
Gruß Haxley
Darauf laufen Icsecast und das Auto DJ Airtime. Airtime braucht den Apache.
Nun ist das so das Icecast auf Port 8000 sendet was bei vielen Zuhörern für Probleme mit der Firewall sogt. Deshalb biegen alle Webradios den Stream auf Port 80 um.
Da wie gesagt der Apache auch auf Port 80 arbeitet, kann ich also nicht einfach im Icecast den 80 angeben.
Apache Proxy. mod_proxy ist ungeeignet da er bei mehreren Zuhörern in die Knie geht.
Wie kann man das am besten machen das der Stream auf Port 80 umgeleitet wird?
Besten Dank
Gruß Haxley
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Es kann immer nur eine Anwendung auf einem Port pro IP-Adresse lauschen. Wenn dir mehrere IPs zur Verfuegung stehen, dann koenntest du Icecast auf einer separaten IP auf Port 80 lauschen lassen. Alternativ koenntest du einen Proxy einsetzen (oder den gesamten Apache gegen nginx ersetzen), welcher an Port 80 lauscht und die Verbindungen weitergibt. Moeglicherweise ist deinen Hoerern aber auch schon geholfen, wenn du den Port auf 8080 aenderst. Das ist ein alternativer HTTP-Port und ist auf so mancher Firewall offen.
Gruss syssi
Gruss syssi
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Vielleicht geht auch der Port 443. Die Anwendung darf dann nur nicht clientseitig versuchen SSL zu nutzen sondern muss trotzdem normales HTTP sprechen.
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Ja ich habe mehrere IP Adressen, wie genau stelle ich das an das Icecast dann über die zweite IP arbeitet?
Sowas in der Art habe ich auch schon versucht, indem ich einen 2. vServer nur mit icecast installiert habe der auf Port80 eingestellt war.
Das Problem dabei war denn wieder das Airtime (vom 1. vServe) nicht auf Icecast mit Port 80 verbinden konnte, da ja auf dem 1. vServer der Apache auf Port 80 läuft.
Optimal wäre es wenn Icecast den ankommenden Stream auf z.B. Port 8000 annimmt und den Output auf Port 80 macht aber das geht wohl nicht oder?
Wie mache ich das mit zwei IPs?
Danke Gruß Haxley
Sowas in der Art habe ich auch schon versucht, indem ich einen 2. vServer nur mit icecast installiert habe der auf Port80 eingestellt war.
Das Problem dabei war denn wieder das Airtime (vom 1. vServe) nicht auf Icecast mit Port 80 verbinden konnte, da ja auf dem 1. vServer der Apache auf Port 80 läuft.
Optimal wäre es wenn Icecast den ankommenden Stream auf z.B. Port 8000 annimmt und den Output auf Port 80 macht aber das geht wohl nicht oder?
Wie mache ich das mit zwei IPs?
Danke Gruß Haxley
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Ich kenne deine Anwendung nicht.
sein soll. Es wird wohl nur eine Socketverbindung sein.
Vielleicht so:
Wo 127.0.0.1 ist trägst du dann die zweite IP-Adresse ein, die dann genutzt werden soll. Port wäre "80" statt "8000".
http://www.icecast.org/docs/icecast-2.2 ... _file.html
Das ist ja auch vollkommender Blödsinn, da die Kommunikation:z.B. Port 8000 annimmt und den Output auf Port 80 macht aber das geht wohl nicht oder?
Code: Alles auswählen
Client-IP, Port > 1023 <-> Server-IP2, Port 80
Vielleicht so:
Code: Alles auswählen
<-- You may have multiple <listen-socket> elements -->
<listen-socket>
<port>8000</port>
<bind-address>127.0.0.1</bind-address>
</listen-socket>
http://www.icecast.org/docs/icecast-2.2 ... _file.html
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
So habe mal zusätzlich eingetragen:
icecast restart
http://xx.xxx.xxx.181:80/stream.mp3 leitet zum Apache.
Das wird so leider nichts, da immer der Apache auf allen IPs schon lauscht.
Noch eine Idee?
Code: Alles auswählen
<listen-socket>
<port>80</port>
<bind-address>xx.xxx.xxx.181</bind-address>
</listen-socket>
http://xx.xxx.xxx.181:80/stream.mp3 leitet zum Apache.
Das wird so leider nichts, da immer der Apache auf allen IPs schon lauscht.
Noch eine Idee?
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Es waere nun intelligent, den Apachen nur auf die andere IP:80 zu binden, damit der Port tatsaechlich frei ist...Haxley hat geschrieben:Das wird so leider nichts, da immer der Apache auf allen IPs schon lauscht.
Noch eine Idee?
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Auch wenn ich das Problem nicht habe. Kann man das einfach in /etc/apache2/ports.conf eintragen oder geht das über /etc/apache2/apache2.conf oder sogar über die VHosts unter /etc/apache2/sites-available. Ich denke die erste Datei, oder?
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Du meinst Listen? Deren Kontext ist „Serverkonfiguration“, apache2.conf oder ports.conf als dort eingebundene Datei ginge, sofern man im Kontext bleibt. Innerhalb von vHost-Konfigurationen geht’s so nicht.
cu,
niemand
cu,
niemand
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Hab es probiert. Geht in /etc/apache2/ports.conf:
Restart des Apachen nicht vergessen.
Code: Alles auswählen
Listen ip1:80
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Ich hab das jetzt mal ganz anders versucht. Ich hab den Apache auf Port 8080 laufen somit müsste der Poert 80 frei sein.
Leider mag airtime nicht über Port 80 mit icecast (auch auf Port 80 gestartet) verbinden.
Wird irgendwo außerhalb vom Apache noch die 80 verwendet bzw. vorgehalten?
Gruß Haxley
Leider mag airtime nicht über Port 80 mit icecast (auch auf Port 80 gestartet) verbinden.
Wird irgendwo außerhalb vom Apache noch die 80 verwendet bzw. vorgehalten?
Gruß Haxley
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Musst du selbst wissen.zeigt dir die gerade gebundenen Ports an.
Gruss Cae
Code: Alles auswählen
# netstat -tulpen
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Wenn der Icecast und airtime auf 8000 senden sieht das so aus:
Code: Alles auswählen
netstat -utapn | grep 80
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 4991/icecast2
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 4527/apache2
tcp 0 0 xx.xxx.xxx.180:22 84.183.248.103:51195 ESTABLISHED 599/sshd: root@nott
tcp 0 0 xx.xxx.xxx.180:22 84.183.248.103:51251 ESTABLISHED 1149/sshd: root@not
tcp 2117 0 xx.xxx.xxx.181:8000 xx.xxx.xxx.181:44391 ESTABLISHED 4991/icecast2
tcp 0 0 xx.xxx.xxx.180:8080 84.183.248.103:51737 ESTABLISHED 4615/apache2
tcp 0 0 xx.xxx.xxx.180:8080 84.183.248.103:51657 TIME_WAIT -
tcp 0 1352 xx.xxx.xxx.180:8000 84.183.248.103:51775 ESTABLISHED 4991/icecast2
tcp 0 0 xx.xxx.xxx.180:8080 84.183.248.103:51693 ESTABLISHED 4827/apache2
tcp 0 52 xx.xxx.xxx.180:22 84.183.248.103:51203 ESTABLISHED 603/0
tcp 0 0 xx.xxx.xxx.180:8000 84.183.248.103:51734 TIME_WAIT -
tcp 0 817 xx.xxx.xxx.181:44391 xx.xxx.xxx.181:8000 ESTABLISHED 4796/airtime-liquid
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Code: Alles auswählen
netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 104 11365075 4991/icecast2
tcp 0 0 0.0.0.0:5672 0.0.0.0:* LISTEN 106 11348434 425/beam.smp
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 0 11363188 4527/apache2
tcp 0 0 0.0.0.0:35249 0.0.0.0:* LISTEN 106 11348332 425/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 106 11348144 326/epmd
tcp 0 0 127.0.0.1:1234 0.0.0.0:* LISTEN 107 11364357 4796/airtime-liquid
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 11348636 583/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 103 11348454 506/postgres
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 0 11348093 288/monit
tcp6 0 0 :::22 :::* LISTEN 0 11348638 583/sshd
tcp6 0 0 ::1:5432 :::* LISTEN 103 11348453 506/postgres
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Ich sehe kein Port 80. Sollte gehen mit dem Server. Hast du Logdaten?
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Wenn du hinter einem Router stehst, kann der das in der Regel über incoming port forwarding.
Incoming port 80 weiterleiten an IP 192.168.22.12 port 8000
incoming port 8080 weiterleiten an ip 192.168.22.12 port 80
Incoming port 80 weiterleiten an IP 192.168.22.12 port 8000
incoming port 8080 weiterleiten an ip 192.168.22.12 port 80
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
arg... vserver... sorry
Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?
Ich hab den Port8000 Zum senden von airtime und den Port von icecast mal auf 80 gestellt und den server rebooten lassen.
Im Syslog ist nichts aber Airtime schreibt ein eigenes da steht folgendes drin:
liquidsoap (für die Übertragung zuständig) schreibt auch ein log:
ich werde da aber auch nicht schlau draus warum die interne Kommunikation über Port 80 nicht geht.
Im Syslog ist nichts aber Airtime schreibt ein eigenes da steht folgendes drin:
Code: Alles auswählen
2013-02-04 18:51:29,355 ERROR - [MainThread] [api_client.py : get_response_from_server()] : LINE 88 - Error Authenticating with remote server: HTTP Error 503: Service Unavailable
2013-02-04 18:51:29,355 DEBUG - [MainThread] [api_client.py : get_response_from_server()] : LINE 92 - http://localhost:8080/api/media-monitor-setup/format/json/api_key/V703NE0LLQ9WTQHZVC4O
2013-02-04 18:51:29,355 ERROR - [MainThread] [api_client.py : get_response_from_server()] : LINE 110 - Error connecting to server, waiting 5 seconds and trying again.
2013-02-04 18:51:29,357 ERROR - [Thread-2] [api_client.py : get_response_from_server()] : LINE 88 - Error Authenticating with remote server: HTTP Error 503: Service Unavailable
2013-02-04 18:51:29,357 DEBUG - [Thread-2] [api_client.py : get_response_from_server()] : LINE 92 - http://localhost:8080/api/list-all-watched-dirs/format/json/api_key/V703NE0LLQ9WTQHZVC4O
2013-02-04 18:51:29,357 ERROR - [Thread-2] [api_client.py : get_response_from_server()] : LINE 110 - Error connecting to server, waiting 5 seconds and trying again.
2013-02-04 18:51:34,437 INFO - [MainThread] [api_client.py : setup_media_monitor()] : LINE 384 - Connected to Airtime Server. Json Media Storage Dir: {u'watched_dirs': [], u'stor': u'/srv/airtime/stor/'}
2013-02-04 18:51:34,537 INFO - [MainThread] [airtime.py : __init__()] : LINE 30 - Initializing RabbitMQ message consumer...
2013-02-04 18:51:34,553 INFO - [Thread-2] [api_client.py : get_files_without_replay_gain_value()] : LINE 695 - update file system mount: []
Code: Alles auswählen
2013/02/04 18:51:40 [stream(dot)mp3:3] Connecting mount stream.mp3 for source@88.198.160.180...
2013/02/04 18:51:40 [stream(dot)mp3:2] Connection failed: could not write data to host: Connection refused in write()
2013/02/04 18:51:40 [lang:3] /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='could not write data to host: Connection refused in write()' --stream-id=1 --time=1360003894.42 &
2013/02/04 18:51:40 [stream(dot)mp3:3] Will try again in 5.00 sec.
2013/02/04 18:51:46 [stream(dot)mp3:3] Connecting mount stream.mp3 for source@88.198.160.180...
2013/02/04 18:51:46 [stream(dot)mp3:2] Connection failed: could not write data to host: Connection refused in write()
2013/02/04 18:51:46 [lang:3] /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='could not write data to host: Connection refused in write()' --stream-id=1 --time=1360003894.42 &
2013/02/04 18:51:46 [stream(dot)mp3:3] Will try again in 5.00 sec.
2013/02/04 18:51:52 [stream(dot)mp3:3] Connecting mount stream.mp3 for source@88.198.160.180...
2013/02/04 18:51:52 [stream(dot)mp3:2] Connection failed: could not write data to host: Connection refused in write()
2013/02/04 18:51:52 [lang:3] /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --error='could not write data to host: Connection refused in write()' --stream-id=1 --time=1360003894.42 &
2013/02/04 18:51:52 [stream(dot)mp3:3] Will try again in 5.00 sec.