我有一些访问者正在通过Ipv4或Ipv6 IP访问我的Web服务器(lighttpd)。我想以某种方式阻止此操作,只接受域名请求。
2018-10-10 18:24:46: (response.c.351) Request-URI : /
2018-10-10 18:24:46: (response.c.352) URI-scheme : http
2018-10-10 18:24:46: (response.c.353) URI-authority : xxx.243.48.85
2018-10-10 18:24:46: (response.c.354) URI-path (raw) : /
2018-10-10 18:24:46: (response.c.355) URI-path (clean): /
2018-10-10 18:24:46: (response.c.356) URI-query :
我该怎么办?
答案 0 :(得分:1)
使用允许的主机创建条件,并拒绝所有不匹配的内容:
server.modules += ("mod_access")
$HTTP["host"] !~ "^(my-vhost|other-vhost)$" { url.access-deny = ("") }
或者,创建一个条件,该条件与$ HTTP [“ host”]中的IP地址或空字符串匹配,然后拒绝访问。这很难得到正确的答案。
使用明确的允许列表(上面的第一个选项)并拒绝其他所有内容通常是更好的解决方案。
答案 1 :(得分:1)
参考链接https://redmine.lighttpd.net/projects/1/wiki/docs_configuration,您需要创建一条规则,仅在$HTTP["host"] == <your_webserver_domain_name>
或其他简单给出403 Forbidden
响应的情况下接受http请求