Помогите: m.domain.ru -> m.domain.ru/m, но...
point212
nginx-forum at nginx.us
Mon Jun 24 07:17:07 UTC 2013
Добрый день.
Не могу добиться от nginx казалось бы простой вещи.
Есть nginx, и есть jetty за ним.
Нужно чтобы пользователь заходил на URL m.domain.ru, а jetty думал что
пришли по URL m.domain.ru/m. При этом в адресной строке пользователя /m не
отображалось.
Вот текущий конфиг:
nginx.conf
=====================
...
server {
server_name domain.ru *.domain.ru;
set $subdomain "";
if ($host = "m.domain.ru") {
set $subdomain "m";
}
root /opt/jetty/webapps/root/WEB-INF/application/;
location / {
proxy_pass http://127.0.0.1:8080/$subdomain;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_cache off;
proxy_redirect off;
}
}
...
========================
Были и другие варианты конфигурации.
Например вот такой:
...
server {
server_name ~^(.*)\.domain\.ru$;
set $subdomain $1;
root /opt/jetty/webapps/root/WEB-INF/application/;
location / {
proxy_pass http://127.0.0.1:8080/$subdomain;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_cache off;
proxy_redirect off;
}
}
...
При попытке входа на m.domain.ru выдается ошибка 404, а на domain.ru
грузится сайт, но без всей статики (подозреваю что это ошибка бэкэнда). Не
понятно как именно переписывается URL, но явно не так, как я ожидаю.
Как заставить nginx писать в логи всё, что происходит?
Логгирование настроено вот так:
...
error_log /var/log/nginx/error.log info;
http {
...
log_format main '$remote_addr - $remote_user [$time_local] "$request"
'
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
rewrite_log on;
....
}
...
nginx такой:
nginx version: nginx/1.5.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx
--with-poll_module --with-file-aio --with-http_ssl_module
--with-http_spdy_module --with-http_realip_module
--with-http_addition_module --with-http_image_filter_module
--with-http_geoip_module --with-http_sub_module --with-http_dav_module
--with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module
--with-http_stub_status_module --with-pcre
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240295,240295#msg-240295
Подробная информация о списке рассылки nginx-ru