web-dev-qa-db-ja.com

nginxを別の内部ポートにリダイレクトしても機能しない

ポート80でnginxインスタンスを実行し、ポート4567の同じマシンで別のアプリ(埋め込み桟橋)を実行しています。

URLに/api/を含むリクエストを、ポート4567で実行されているサーバーにリダイレクトしようとしています。

このために、nginx.confファイルのhttpコンテキストタグ内に以下を追加しました。

server {
        listen 80;
        location /api {
                proxy_pass http://127.0.0.1:4567;
        }
}

しかし、これは機能していません。 404 Not Found *を含むURLをリクエストしようとすると、nginxから/api/を取得するだけです。

何が足りないのですか?ありがとう。

3
Henrique

私はあなたの場所が間違っていると思います、使用してください

location /api/ { 
 proxy_pass http://127.0.0.1:4567; 
}

場所の最後にスラッシュを追加します。

1

解決策を見つけました。

この構成をnginx.confに追加する代わりに、/etc/nginx/sites-enabled/defaultに追加しましたが、うまくいったようです。

0
Henrique