Bij IPv4 laat ik hem luisteren naar "0.0.0.0" en bij IPv6 naar "::", maar hoe doe je beide tegelijk
Komt er dus eigenlijk op neer dat die naar 2 ip adressen moet luisteren.
Heb je het getest met :: ? Kan je dan nog via http://localhost:8080/ erbij?Brambo123 wrote:Ik draai op Windows Server 2008 R2.
Maar :: is puur voor IPv6 en 0.0.0.0 is puur IPv4 dus zou ook helemaal niet mogen werken.
Code: Select all
sander@netbook:~$ cat /etc/hosts | grep localhost
127.0.0.1 localhost.localdomain localhost
::1 netbook localhost6.localdomain6 localhost6
::1 localhost ip6-localhost ip6-loopback
sander@netbook:~$ Code: Select all
sander@netbook:~$ grep :: .sabnzbd/sabnzbd.ini
host = ::
sander@netbook:~$
sander@netbook:~$ wget -4 localhost:8080 -O /dev/null
--2011-08-08 22:38:33-- http://localhost:8080/
Resolving localhost... 127.0.0.1, 127.0.0.1
Connecting to localhost|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
<snip>
sander@netbook:~$ wget -6 localhost:8080 -O /dev/null
--2011-08-08 22:38:37-- http://localhost:8080/
Resolving localhost... ::1
Connecting to localhost|::1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
<snip>
sander@netbook:~$
Ja, ook in mijn webbrowser (Chrome) werken beide URLs.Brambo123 wrote:Maar i.p.v. met wget, werkt http://127.0.0.1:8080/ en http://[::1]:8080/ wel gewoon bij jou (in web browser)?
Onder Windows werkt dat in ieder geval niet, anders had ik dit topic niet begonnen.
Oh, ik heb 3 jaar geleden dezelfde vraag gesteld: http://forums.sabnzbd.org/viewtopic.php?f=4&t=265 . Dus probleem voor Linux blijkbaar opgelost, waarschijnlijk in cherrypy (of misschien python), niet in SABnzbd denk ik. En nog meer: http://forums.sabnzbd.org/viewtopic.php?t=1701.socket_host
The hostname or IP address on which to listen for connections.
Host values may be any IPv4 or IPv6 address, or any valid hostname. The string ‘localhost’ is a synonym for ‘127.0.0.1’ (or ‘::1’, if your hosts file prefers IPv6). The string ‘0.0.0.0’ is a special IPv4 entry meaning “any active interface” (INADDR_ANY), and ‘::’ is the similar IN6ADDR_ANY for IPv6. The empty string or None are not allowed.
Code: Select all
C:\Users\Sander>netstat -aon | find /i "listen" | find /i 8080
FIND: Parameter format not correct
C:\Users\Sander>netstat -aon | find /i "listen" | find /i "8080"
TCP 192.168.1.53:8080 0.0.0.0:0 LISTENING 3788
C:\Users\Sander>netstat -aon | find /i "listen" | find /i "8080"
TCP [::]:8080 [::]:0 LISTENING 3920
C:\Users\Sander>netstat -aon | find /i "listen" | find /i "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 2776
C:\Users\Sander>netstat -aon | find /i "listen" | find /i "8080"
TCP [::1]:8080 [::]:0 LISTENING 3776
C:\Users\Sander>Code: Select all
--- SABnzbd.py.org 2011-08-09 10:40:11.409183471 +0200
+++ SABnzbd.py 2011-08-09 11:06:30.869183767 +0200
@@ -1261,6 +1261,19 @@
except:
pass
+
+ '''
+ SJ: as a test, let's do an addiotional server on a specific host and port
+ Goal: if SABnzbd should listen on both IPv4 and IPv6, and '::' does not take care of that (as on Win7), run SABnzbd on both 0.0.0.0 and ::
+ Maybe some checking before: if host == '::' : start also on 0.0.0.0, and just pass an exception if port is already used (better check if it's SAB itself)
+ '''
+ http_server = _cpwsgi_server.CPWSGIServer()
+ http_server.bind_addr = ('0.0.0.0', 9999)
+ adapter = _cpserver.ServerAdapter(cherrypy.engine, http_server, http_server.bind_addr)
+ adapter.subscribe()
+
+
+
https_cert = sabnzbd.cfg.https_cert.get_path()
https_key = sabnzbd.cfg.https_key.get_path()
if enable_https: