Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Помогите: m.domain.ru -> m.domain.ru/m, но...
- To: nginx-ru@xxxxxxxxx
- Subject: Помогите: m.domain.ru -> m.domain.ru/m, но...
- From: "point212" <nginx-forum@xxxxxxxx>
- Date: Mon, 24 Jun 2013 03:17:07 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=s+O81L3RD+PWj6nMpMDKAe77dsA4tmEm4VfXv5FuHZ0=; b=Ov2NXBmyIH5kowQktj5VIIfnhn6B2Q1PHhggZLMAn9qa5B6O/BXmZI64o1V8dBZTx3jvccbVmEWnp7e0CyLHccaBMbmbUOywUaahnb9TfrT7aPePwOUOgpWcgDGvaF6cjWGYjb8O8yoCcAU4sCPZVvUkRCHcQPUDS10iw6/rxys=;
Добрый день.
Не могу добиться от 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|