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

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

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

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

现在我感到困惑的是,如果将端口更改为小于 9000 的数字,它可以正常工作。但是,如果将端口更改为等于或大于 9000 的数字,lighttpd 可以启动,但我无法从外部访问新网站,而我可以从内部访问新网站(我的意思是在同一个 LAN 或本地主机中)。

来自 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 之间的端口不是一样吗?

答案1

看起来您的服务器和外部客户端之间的某个地方 9000 以上的端口被阻止了。请咨询nmap -sT -Pn -p 9876 vm.aaa.com您的防火墙管理员(或您的 ISP)并就此问题与他们联系。

相关内容