Web-Server
lighttpd:為什麼使用埠 >= 9000 不能正常工作
我有一個可以正常工作的 lighttpd 伺服器。我可以通過http://vm.aaa.com:8080從外部(非本地主機)訪問該網站。讓我們假設它是一個簡單的靜態網站,沒有 php 或 mysql。
現在我想在同一台機器上複製這個網站作為測試網站(使用另一個埠)。而且我不想使用虛擬主機。所以我只是複制原始伺服器的整個文件,包括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
您的防火牆管理員(或您的 ISP)聯繫以了解該問題。