我在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"
}
完整档案here
以server_root + "/dev"
为根的网站运行正常 - 我通过撤消其端口分配进行了测试,在这种情况下/ dev加载正常:80并且找不到/。
我已阅读了大量指南(例如here,official docs,here等),但无济于事。其中第一个提到可能存在防火墙冲突,但我不知道如何在EC2上解决这个问题,而且我可以设置server.port=8080
毫无问题的事实使我认为这不是问题。
这两个文件夹都归我的lighttpd
用户所有,该用户在两个文件夹中都拥有完整权限。
在向<my address>:8080
发出请求时,我在日志文件中看不到任何注释。
答案 0 :(得分:2)
哎呀,我现在可以回答我自己的问题了。
确实是防火墙问题,但修复非常简单 - 转到console.aws.amazon.com(必要时登录),选择相关的安全组,并添加允许传入流量的防火墙规则在该端口上 - 如果您希望限制访问,则来自特定来源,或者来自0.0.0.0/0以进行通用访问。
答案 1 :(得分:0)
只需配置防火墙,它将创建防火墙规则,该规则将允许端口80上的所有连接。
sufo ufw允许80
一旦添加了规则,然后尝试在浏览器中点击网址。