<div dir="ltr"><div>server {</div><div><span class="" style="white-space:pre">      </span>server_name <a href="http://m.domain.ru">m.domain.ru</a>;</div><div>        root           /opt/jetty/webapps/root/WEB-INF/application/;</div>
<div>        location / {</div><div><span class="" style="white-space:pre">             </span>rewrite .* /m/$1 break;<span class="" style="white-space:pre">           </span></div><div>             proxy_pass              <a href="http://127.0.0.1:8080">http://127.0.0.1:8080</a>;</div>
<div>             proxy_set_header        X-Real-IP $remote_addr;</div><div>             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;</div><div>             proxy_set_header        Host $http_host;</div>
<div>             proxy_cache off;</div><div>             proxy_redirect off;</div><div>        }</div><div>}</div><div><br></div><div>server {</div><div><span class="" style="white-space:pre">       </span>server_name .<a href="http://domain.ru">domain.ru</a>;</div>
<div>        root           /opt/jetty/webapps/root/WEB-INF/application/;</div><div>        location / {<span class="" style="white-space:pre">                </span></div><div>             proxy_pass              <a href="http://127.0.0.1:8080">http://127.0.0.1:8080</a>;</div>
<div>             proxy_set_header        X-Real-IP $remote_addr;</div><div>             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;</div><div>             proxy_set_header        Host $http_host;</div>
<div>             proxy_cache off;</div><div>             proxy_redirect off;</div><div>        }</div><div>}</div><div><br></div><div style>Что-то наподобие этого наверное подойдет)</div><div><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">24 июня 2013 г., 17:17 пользователь point212 <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us" target="_blank">nginx-forum@nginx.us</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Добрый день.<br>
Не могу добиться от nginx казалось бы простой вещи.<br>
Есть nginx, и есть jetty за ним.<br>
Нужно чтобы пользователь заходил на URL <a href="http://m.domain.ru" target="_blank">m.domain.ru</a>, а jetty думал что<br>
пришли по URL <a href="http://m.domain.ru/m" target="_blank">m.domain.ru/m</a>. При этом в адресной строке пользователя /m не<br>
отображалось.<br>
<br>
Вот текущий конфиг:<br>
<br>
nginx.conf<br>
=====================<br>
<br>
...<br>
<br>
    server {<br>
        server_name <a href="http://domain.ru" target="_blank">domain.ru</a> *.<a href="http://domain.ru" target="_blank">domain.ru</a>;<br>
        set $subdomain "";<br>
        if ($host = "<a href="http://m.domain.ru" target="_blank">m.domain.ru</a>") {<br>
            set $subdomain "m";<br>
        }<br>
        root           /opt/jetty/webapps/root/WEB-INF/application/;<br>
        location / {<br>
             proxy_pass              <a href="http://127.0.0.1:8080/$subdomain" target="_blank">http://127.0.0.1:8080/$subdomain</a>;<br>
             proxy_set_header        X-Real-IP $remote_addr;<br>
             proxy_set_header        X-Forwarded-For<br>
$proxy_add_x_forwarded_for;<br>
             proxy_set_header        Host $http_host;<br>
             proxy_cache off;<br>
             proxy_redirect off;<br>
        }<br>
    }<br>
<br>
...<br>
<br>
========================<br>
<br>
Были и другие варианты конфигурации.<br>
Например вот такой:<br>
...<br>
   server {<br>
      server_name ~^(.*)\.domain\.ru$;<br>
      set $subdomain $1;<br>
      root           /opt/jetty/webapps/root/WEB-INF/application/;<br>
      location / {<br>
           proxy_pass              <a href="http://127.0.0.1:8080/$subdomain" target="_blank">http://127.0.0.1:8080/$subdomain</a>;<br>
            proxy_set_header        X-Real-IP $remote_addr;<br>
            proxy_set_header        X-Forwarded-For<br>
$proxy_add_x_forwarded_for;<br>
            proxy_set_header        Host $host;<br>
            proxy_cache off;<br>
            proxy_redirect off;<br>
       }<br>
   }<br>
...<br>
<br>
При попытке входа на <a href="http://m.domain.ru" target="_blank">m.domain.ru</a> выдается ошибка 404, а на <a href="http://domain.ru" target="_blank">domain.ru</a><br>
грузится сайт, но без всей статики (подозреваю что это ошибка бэкэнда). Не<br>
понятно как именно переписывается URL, но явно не так, как я ожидаю.<br>
Как заставить nginx писать в логи всё, что происходит?<br>
Логгирование настроено вот так:<br>
<br>
...<br>
error_log  /var/log/nginx/error.log  info;<br>
<br>
http {<br>
...<br>
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request"<br>
'<br>
                      '$status $body_bytes_sent "$http_referer" '<br>
                      '"$http_user_agent" "$http_x_forwarded_for"';<br>
<br>
    access_log  /var/log/nginx/access.log  main;<br>
    rewrite_log on;<br>
     ....<br>
   }<br>
...<br>
<br>
<br>
<br>
<br>
nginx такой:<br>
nginx version: nginx/1.5.1<br>
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)<br>
TLS SNI support enabled<br>
configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx<br>
--with-poll_module --with-file-aio --with-http_ssl_module<br>
--with-http_spdy_module --with-http_realip_module<br>
--with-http_addition_module --with-http_image_filter_module<br>
--with-http_geoip_module --with-http_sub_module --with-http_dav_module<br>
--with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module<br>
--with-http_stub_status_module --with-pcre<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,240295,240295#msg-240295" target="_blank">http://forum.nginx.org/read.php?21,240295,240295#msg-240295</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div><br><br clear="all"><div><br></div>-- <br>С ув. М.А. Мохначевский<br>Отдел системного администрирования<br>
ООО "Компания "СахаИнтернет НТ"<br>к.т. (4112)219711 доб. 927
</div>