lighttpd:为什么使用端口> = 9000不能正常工作

我有一个正常工作的lighttpd服务器。 我可以通过http://vm.aaa.com:8080从外部(非本地主机)访问这个网站。 让我们假设这是一个简单的静态网站,没有PHP或MySQL。

现在我想复制这个网站作为一个testing(使用另一个端口)在同一台机器。 而我不想使用虚拟主机。 所以我只是复制原始服务器的全部文件,包括lighttpd的bin / conf / htdocs / lib /等文件夹。 我做了一些必要的更改,包括更改lighttpd.conf。

现在我感到困惑的是,如果将端口更改为小于9000的数字,则完美无缺。 但是,如果端口号变成9000或更大的数字,lighttpd可以启动,但是我不能从外部访问新的网站,而我可以从INSIDE访问新的网站(我的意思是在同一个局域网本地主机)。

INSIDE的访问日志如下所示:

vm.aaa.com:9876 10.46.175.117 - - [08/Oct/2012:13:18:47 +0800] "GET / HTTP/1.1" 200 15 "-" " curl/7.12.1 (x86_64-redhat-linux-gnu) libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6" 

我用来启动lighttpd的命令是:

 bin/lighttpd -f conf/lighttpd.conf -m lib/ -D 

我的lighttpd.conf是这样的:

 server.modules = ( "mod_access", "mod_accesslog", ) var.rundir = "/home/work/lighttpd_9876" server.port = 9876 server.bind = "0.0.0.0" server.pid-file = var.rundir + "/log/lighttpd.pid" server.document-root = var.rundir + "/htdocs/" var.cronolog_path = "/home/work/lighttpd_9876/cronolog/sbin/cronolog" server.errorlog = ... accesslog.filename = ... ... 

那为什么会这样呢? 我试了几个不同的端口,仍然是一样的。 8000和65535之间的端口是不是相同?

看起来像9000以上的端口被阻塞在你的服务器和外部客户端之间的某处。 用nmap -sT -Pn -p 9876 vm.aaa.com并联系你的防火墙pipe理员(或你的ISP)关于这个问题。