uhttpd ulega awarii podczas pierwszego żądania indeksu luci

0

Zainstalowałem OpenWRT ( ATTITUDE ADJUSTMENT (Bleeding Edge, r33556) ) na moim routerze Wi-Fi TP-Link ( TL-WR1043ND ) i po uruchomieniu sshd i kilku podstawowych rzeczy uruchomionych na moim biurku przez kilka tygodni, a teraz kontynuowałem instalację.

zainstalowałem luci z uhttpd co jest całkiem proste opkg i próbowałem uzyskać do niego dostęp za pomocą przeglądarki. Jednak za każdym razem, gdy uruchamiam serwer i próbuję go otworzyć index.html, serwer wydaje się po cichu rozbić i nie mam pojęcia dlaczego.

Kontekst

Do celów instalacyjnych mój laptop (tymczasowo 192.168.0.1 ) działa jako sam router (który działa doskonale). Przydzieliłem router ( pinky ) LAN IP 192.168.0.2 i wyłączył interfejs WAN. Moja konfiguracja sieci wygląda więc następująco:

# cat /etc/config/network
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.0.2'
        option netmask '255.255.255.0'
        option gateway '192.168.0.1'
        option dns '134.130.4.1 134.130.5.1'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'none'

config switch
        option name 'rtl8366rb'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'rtl8366rb'
        option vlan '1'
        option ports '1 2 3 4 5t'

config switch_vlan
        option device 'rtl8366rb'
        option vlan '2'
        option ports '0 5t'

Określone dns odnoszą się do serwerów w mojej sieci lokalnej (dokładniej do sieci, do której prowadzi mój tunel VPN). W każdym razie ta konfiguracja jest oczywiście tymczasowa, dopóki nie będę pewna, że ​​podłączę router do Internetu.

Próbowałem kilku konfiguracji dla uhttpd, ale wszystkie prowadzą do tego samego zachowania. Najpierw uruchomiłem serwer bez obsługi SSL, a następnie zainstalowałem luci-ssl mając nadzieję, że może to rozwiązać problem. Teraz przywróciłem konfigurację do absolutnego minimum:

# cat /etc/config/uhttpd
config 'uhttpd' 'main'
        option 'listen_http' '0.0.0.0:80'
        option 'home'        '/www'

Problem

Kiedy uruchamiam serwer, wygląda na to, że ładuje się ładnie:

 2183 root      1132 S    /usr/sbin/uhttpd -f -h /www -r pinky -n 3 -p 0.0.0.0 80

Jednak po otwarciu http://192.168.0.2 lub http://192.168.0.2/index.html (z mojego laptopa, to znaczy) proces po prostu znika (tj. ulega awarii). A jeśli uruchomię serwer ręcznie, powie mi:

# /usr/sbin/uhttpd -f -h /www -r pinky -n 3 -p 0.0.0.0 80
getaddrinfo(): Servname not supported for ai_socktype
Error: No sockets bound, unable to continue

I nie mam pojęcia, co to ma mi powiedzieć.

Jak mogę zawęzić problem i naprawić?

Wersje

luci jest w wersji svn-r9819-1 i uhttpd jest w wersji 2013-05-16-7a6811b705d6cca54b1367459fa19bb6d1234c45.

bitmask
źródło

Odpowiedzi:

0

ja teraz przełączono serwery http luci z uhttpd do lighttpd instalowanie tylko pakietów:

opkg install lighttpd lighttpd-mod-cgi luci-mod-admin-full luci-theme-openwrt libiwinfo

I to działa dobrze. Mimo że lighttpd jest cztery razy większy niż uhttpd, Mogę zaoszczędzić miejsce i zebrać te pierwsze, aby były bardziej wytrzymałe i przetestowane (i bardziej konfigurowalne).

bitmask
źródło