IAD получил эпик фэйл
8 февраля, 2011
Правил конфиги нгинкса и обнаружил, что пропала вся статика напрочь, на всех доменах, кроме того, к которому подвязывал зону РФ.
Вроде обычный конфиг:
----вырезано---- server { listen айпишнег:80; server_name site.ru www.site.ru мухрю.xn--p1ai; location / { client_max_body_size 8M; client_body_buffer_size 128k; proxy_pass http://айпишнег:81/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarder_for; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root /var/www/site.ru/; } } server { listen айпишнег:80; # server_name .my; location / { client_max_body_size 8M; client_body_buffer_size 128k; proxy_pass http://апача:81/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarder_for; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root /var/www/$host/; } } |
но ошибка заключается в том, что если нгинкс не находит правило для полученного запроса, то передаёт запрос первому серверу!
Если в запросе нет заголовка «Host» или же в нём указано имя, неописанное ни в одном сервере, слушающем на адресе и порту, на которые пришёл запрос, то запрос будет обслужен сервером, у которого первым описаны эти адрес и порт.
Об этом нужно помнить.
Решение — поменять блоки server местами
домены на кирилице — тот ещё маразм.
Уже можно потихоньку работать. Но маразм конечно да.
Да не бОльший маразм, чем все остальные домены. Кириллица+.(com|net) непонятно для чего а полностью на кириллице это нормально.
Кстати, мелкософтовые продукты TMG и IIS понимают кирилические домены без преобразования в мухрю форму, в отличие от апачи, где алиас нужно писать в музрю форме. Мелочь, но приятно =)
Они просто без палева их конвертят 🙂
Я ЗНАЛ! :))))
ну вот — бывает и так
дада, это всё грязные проделки M$-ru 😀