似乎这不起作用:
server_name blabla.bla;
location ~* (wp-comments-posts|wp-login)\.php$ {
if ($http_referer !~ ^(http://$servername) ) {
return 405;
}
}
虽然
server_name blabla.bla;
location ~* (wp-comments-posts|wp-login)\.php$ {
if ($http_referer !~ ^(http://blabla.bla) ) {
return 405;
}
}
工作得很好。这是预期的,如果是这样,为什么?或者我在这里做错了什么?
答案 0 :(得分:1)
在读取配置时编译正则表达式,因此它们不能包含变量。
另请注意:
答案 1 :(得分:0)
如果您具有引荐来源网址模块,则可能会喜欢此模块,这将仅允许当前服务器名称成为有效的引荐来源地址。其他所有错误将返回405错误。
location ~* (wp-comments-post)\.php$ {
valid_referers server_names;
if ( $invalid_referer ) {
return 405;
}
### Do your stuff here
}