Re: Помогите: m.domain.ru -> m.domain.ru/m, но...

М.А. Мохначевский tetsio.nainn at gmail.com
Mon Jun 24 11:21:24 UTC 2013


server {
server_name m.domain.ru;
        root           /opt/jetty/webapps/root/WEB-INF/application/;
        location / {
rewrite .* /m/$1 break;
             proxy_pass              http://127.0.0.1:8080;
             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;
        root           /opt/jetty/webapps/root/WEB-INF/application/;
        location / {
             proxy_pass              http://127.0.0.1:8080;
             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;
        }
}

Что-то наподобие этого наверное подойдет)



24 июня 2013 г., 17:17 пользователь point212 <nginx-forum at nginx.us> написал:

> Добрый день.
> Не могу добиться от 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 at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




-- 
С ув. М.А. Мохначевский
Отдел системного администрирования
ООО "Компания "СахаИнтернет НТ"
к.т. (4112)219711 доб. 927
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130624/8068de68/attachment.html>


Подробная информация о списке рассылки nginx-ru