Всё потому что вы не понимаете как работает try_files и rewrite. Nginx пытается найти папку user в корне сайта. Её в друпале по умолчанию нет и об этом прям так и написано "2: No such file or directory". Других правил которые бы подходили или переписывали урл до /index.php?q=user в случаи "allow" нет, поэтому до запуска друпала дело не доходи. Достаточно сделать вот так и всё
"заработает":
location /user {
allow 111.111.11.11;
deny all;
try_files $uri /index.php?$query_string;
}
"заработает" в кавычках потому что в приведенном вами "конфиге сайта" много всякого мусора и его использование чревато проблемами с безопасностью в том числе.