8

我有一个在 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.

4

2 回答 2

4

哎呀,我现在可以回答我自己的问题了。

这确实是一个防火墙问题,但修复起来非常简单 - 转到 console.aws.amazon.com(如有必要,请登录),选择相关的安全组,然后添加一个防火墙规则,允许该端口上的传入流量- 如果您希望限制访问,则可以来自特定来源,或者来自 0.0.0.0/0 以进行普遍访问。

于 2013-01-16T08:43:46.967 回答
0

只需配置防火墙,它将创建允许端口 80 上的所有连接的防火墙规则。

sufo ufw允许80

添加规则后,请尝试在浏览器中点击 url。

于 2019-04-10T07:24:35.907 回答