nginx загрузка файлов картинок с русскими именами с пристыкованным ;jsessionid
akartkam
nginx-forum на forum.nginx.org
Ср Май 10 11:49:52 UTC 2017
Добрый день. Столкнулся с такой проблемой. На ubuntu сервере совместно
работают tomcat8 и nginx 1.10. Второй проксирует запросы с первому. nginx
настроен так :
server {
listen 80;
server_name forpostnn.ru;
charset utf-8;
root /opt/tomcat/webapps/inShop;
location ~* ^(/images/|/releated/).+\.(jpg|jpeg|gif|png|pdf)$ {
root /usr/share/inShop/webcontent;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
rewrite "^(.*);jsessionid=(.*)$" $1 permanent;
}
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
Проблема в том, что так получилось, что в папке со статическим контентом
оказались картинки с русскими именами. При первом открытии окна в браузере
(когда еще нет куков и tomcat пристыковывает ко всем urlам ;jsessionid) ,
nginx не грузит картинки в именах которых есть русские буквы(естественно они
url rwrited), говорит , 404. При чем, что интересно, если принудительно
открыть картинку в браузере без ;jsessionid , то все ок. Так же никаких
проблем не возникает и с картинками, в названии которых нет русских букв.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,274123,274123#msg-274123
Подробная информация о списке рассылки nginx-ru