Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 12:33:17

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

syssi
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?

Beitrag von syssi » 04.02.2013 13:23:39

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

uname
Beiträge: 12484
Registriert: 03.06.2008 09:33:02

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von uname » 04.02.2013 13:26:57

Vielleicht geht auch der Port 443. Die Anwendung darf dann nur nicht clientseitig versuchen SSL zu nutzen sondern muss trotzdem normales HTTP sprechen.

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 13:50:14

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

uname
Beiträge: 12484
Registriert: 03.06.2008 09:33:02

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von uname » 04.02.2013 13:56:56

Ich kenne deine Anwendung nicht.
z.B. Port 8000 annimmt und den Output auf Port 80 macht aber das geht wohl nicht oder?
Das ist ja auch vollkommender Blödsinn, da die Kommunikation:

Code: Alles auswählen

Client-IP, Port > 1023 <-> Server-IP2, Port 80 
sein soll. Es wird wohl nur eine Socketverbindung sein.

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>
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

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 14:43:38

So habe mal zusätzlich eingetragen:

Code: Alles auswählen

<listen-socket>
        <port>80</port>
        <bind-address>xx.xxx.xxx.181</bind-address>
    </listen-socket>
    
    
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?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Cae » 04.02.2013 14:50:25

Haxley hat geschrieben:Das wird so leider nichts, da immer der Apache auf allen IPs schon lauscht.
Noch eine Idee?
Es waere nun intelligent, den Apachen nur auf die andere IP:80 zu binden, damit der Port tatsaechlich frei ist...

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

uname
Beiträge: 12484
Registriert: 03.06.2008 09:33:02

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von uname » 04.02.2013 15:42:51

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?

DeletedUserReAsG

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von DeletedUserReAsG » 04.02.2013 15:57:38

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

uname
Beiträge: 12484
Registriert: 03.06.2008 09:33:02

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von uname » 04.02.2013 16:08:20

Hab es probiert. Geht in /etc/apache2/ports.conf:

Code: Alles auswählen

Listen ip1:80
Restart des Apachen nicht vergessen.

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 19:21:02

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

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Cae » 04.02.2013 19:22:30

Musst du selbst wissen.

Code: Alles auswählen

# netstat -tulpen
zeigt dir die gerade gebundenen Ports an.

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

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 19:26:37

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

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 19:27:41

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

uname
Beiträge: 12484
Registriert: 03.06.2008 09:33:02

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von uname » 04.02.2013 19:35:17

Ich sehe kein Port 80. Sollte gehen mit dem Server. Hast du Logdaten?

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Huck Fin » 04.02.2013 19:48:58

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

Benutzeravatar
Huck Fin
Beiträge: 1210
Registriert: 10.03.2008 17:10:30

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Huck Fin » 04.02.2013 19:50:37

arg... vserver... sorry

Haxley
Beiträge: 7
Registriert: 04.02.2013 12:26:18

Re: Port 8000 auf Port 80 umleiten. (nicht mod_proxy) Wie?

Beitrag von Haxley » 04.02.2013 20:04:09

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:

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: []
liquidsoap (für die Übertragung zuständig) schreibt auch ein log:

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.
ich werde da aber auch nicht schlau draus warum die interne Kommunikation über Port 80 nicht geht.

Antworten