Приемлемо использовать тот же закрытый ключ на обеих машинах. Обратите внимание что при использовании звона на машине Windows, что Вы, возможно, должны преобразовать его из формата, используемого OpenSSH.
nginx применяет только один блок местоположения на каждом уровне конфигурации. Все файлы с ошибкой 404 - это файлы .php
, которые попадают в блок местоположения \. Php
, и поэтому не используют блок местоположения /
, который содержит вашего пользователя агентский блок. Чтобы исправить это, переместите блок пользовательского агента за пределы блока местоположения на корневой уровень, чтобы он применялся ко всем запросам.
if ($http_user_agent ~* "morfeus fucking scanner|ZmEu") {
return 403;
}
location / {
...
}
location \.php {
...
}
Изменить: Вы можете проверить это с помощью чего-то вроде curl
, что позволяет вам установить произвольные заголовки:
% curl -I localhost/sf645/blah
HTTP/1.1 404 Not Found
% curl -I -H 'User-agent: ZmEu' localhost/sf645/blah
HTTP/1.1 403 Forbidden
% curl -I -H 'User-agent: morfeus fucking scanner' localhost/sf645/blah
HTTP/1.1 403 Forbidden
Попробуйте просто использовать шаблон (morfeus)
. Этот символ вертикальной черты, вероятно, мешает сопоставлению с образцом регулярного выражения.