我在AWS EC2实例上运行了一个lighttpd服务器。它可以在端口80(或任何其他端口,如果我在/etc/lighttpd/lighttpd.conf中更改server.port)上无问题地提供服务。但是,当我将另一个文档根目录提供到不同的端口(比如8080)时,浏览器永远无法连接到服务器。
我的lighttpd.conf文件的相关部分:
server.port = 80
##
## Use IPv6?
##
server.use-ipv6 = "disable"
##
## bind to a specific IP
##
#server.bind = "localhost"
##
## Run as a different username/groupname.
## This requires root permissions during startup.
##
server.username = "lighttpd"
server.groupname = "lighttpd"
##
## enable core files.
##
#server.core-files = "disable"
##
## Document root
##
server.document-root = server_root + "/release"
$SERVER["socket"] == ":8080" {
server.document-root = server_root + "/dev"
}
完整文件在此
server_root + "/dev"
路径下的站点工作正常——我已经测试过通过反转端口分配情况来实现,这样/dev就可以在:80上正常加载,而/release则找不到。
我阅读了很多指南(例如这里、官方文档、这里等),但都没有用。其中第一个提到可能存在防火墙冲突,但我不知道如何在EC2上解决这个问题,而我可以轻松设置server.port=8080
,这使我认为这不是问题所在。
这两个文件夹都属于我的lighttpd
用户,并且该用户在两个文件夹中拥有完全权限。
当请求<my address>:8080
时,日志文件中没有任何值得注意的内容。