uhttpd 在第一次请求 luci 索引时崩溃

uhttpd 在第一次请求 luci 索引时崩溃

ATTITUDE ADJUSTMENT (Bleeding Edge, r33556)我在我的 TP-Link Wifi 路由器 ( ) 上安装了 OpenWRT ( ) TL-WR1043ND,在运行了 sshd 和一些基本程序后,它在我的桌子上放了几个星期,现在我继续安装它。

我安装了露西使用uhttpd起来非常简单opkg,我尝试用浏览器访问它。但是,每次我启动服务器并尝试打开时index.html,服务器似乎都会默默崩溃,我不知道为什么。

语境

为了安装,我的笔记本电脑(暂时192.168.0.1)本身充当路由器(运行良好)。我为路由器(pinky)分配了 LAN IP192.168.0.2并禁用了 WAN 接口。因此,我的网络配置如下:

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

指定的 DNS 指的是我的本地网络(准确地说是我的 VPN 隧道所指向的网络)中的服务器。无论如何,这个配置显然是临时的,直到我有信心将路由器正确连接到互联网。

我尝试了 uhttpd 的几种配置,但都导致相同的行为。首先,我运行了没有 SSL 支持的服务器,然后安装,luci-ssl希望它能解决这个问题。现在我将配置恢复到绝对最小值:

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

问题

当我启动服务器时,它似乎启动正常:

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

但是,一旦我打开(从我的笔记本电脑上http://192.168.0.2打开http://192.168.0.2/index.html),该进程就会消失(即崩溃)。如果我手动启动服务器,它会告诉我:

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

我不知道这是什么意思。

我怎样才能缩小问题范围并修复它?

版本

luci为 版本svn-r9819-1并且uhttpd为 版本2013-05-16-7a6811b705d6cca54b1367459fa19bb6d1234c45

答案1

我现在切换 http 服务器服务luciuhttpdlighttpd仅安装软件包:

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

而且效果很好。尽管lighttpd是的四倍大小uhttpd,我可以节省空间并收集前者,使其更加健壮和经过测试(并且更具可配置性)。

相关内容