2013-08-08 3 views
0

Я узнал, как передать localhost:9292 в localhost/foo со следующей директивой:Как использовать nginx в качестве обратного прокси для прямого localhost: 9292 в поддоменю foo.localhost /?

location /foo { 
    proxy_pass http://localhost:9292; 
} 

, но я хочу сделать что-то вроде

foo.localhost -> localhost:9292 

Есть ли способ, что я могу сделать это?

+0

С этим вы передаете'localhost/foo' to'localhost: 9292 '. – gipi

+0

@gipi Я хочу 'foo.localhost' to' localhost: 9292' – mko

+0

«Я узнал, как передать localhost: 9292 на localhost/foo со следующей директивой», мне кажется, что обратная директива вызывается из ' http: // localhost/foo' и внутренне вызывает «http: // localhost: 9292». – gipi

ответ

0

Если foo.localhost - это ваше поддоменное имя, и вы хотите прокси передать поддомен в основной домен, вы можете использовать proxy_pass, и вы можете узнать немного больше о директиве server, если необходимо. Пример:

server { 
    listem 8080; 
    host sub.main.com; 
    ... 
    location/{ 
    proxy_pass http://main.com; 
    break; 
    } 
} 
server { 
    listen 8081; 
    host main.com; 
    ... 
    location/{ 
    //do something 
    } 
} 

Это прокси проход, значит, когда sub.main.com доступа, на самом деле он, наконец, наносимые main.com, но на стороне клиента все еще показывает sub.main.com. Если вы хотите, чтобы на стороне клиента показывались main.com, здесь следует использовать перенаправление, но не прокси-пароль.

Смежные вопросы