2016-11-13 4 views
2

Я новичок в экспресс и nginx.Невозможно обслуживать приложение expressjs из подпапки

Я сделал простой экспресс-приложение и настроить Nginx:

location /exapi { 
    proxy_pass http://localhost:8010; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header Host $host; 
    proxy_cache_bypass $http_upgrade; 
} 

Мой expressjs приложение:

var express = require('express') 
var app = express() 

app.get('/', function (req, res) { 
    res.send('Hello World!') 
}) 

app.listen(8010, function() { 
    console.log('Example app listening on port 8010!') 
}) 

Когда я получить доступ к своему VPS VPS_IP/exapi, я получаю ответ Cannot GET /exapi, но когда Я использую http://VPS_IP:8010, он работает как ожидалось.

Как я могу получить доступ к моему экспресс-приложению от VPS_IP/exapi?

+0

Я upvoted это как это обычно ясный и четкий вопрос. Однако, если вы можете избежать txtspk в будущих вопросах, это ценится - поскольку усилия на должностях, достаточно хорошо обязательные здесь, читатели ценят дополнительные минимальные усилия по расширению 'plz' на' пожалуйста' и т. Д. Спасибо! – halfer

+0

Попробуйте 'location/exapi /' (с завершающей косой чертой) – robertklep

ответ

1

Try переписывают в Nginx:

location ~* ^/exapi { 
    rewrite ^/exapi/(.*) /$1 break; 
    subfilter /exapi /; 

    proxy_set_header Host $host; 
    proxy_redirect off; 
    proxy_pass http://localhost:8010; 
} 
Смежные вопросы