Nginx - обратный прокси-сервер предотвращает ввод номера порта в URL - PullRequest
1 голос
/ 18 марта 2020

У меня есть приложение React, которое работает на https://localhost:3000.

У меня есть домен типа https://example.com/some/path.

Когда я ввожу https://example.com/some/path в свой браузер, я хочу это перенаправить на https://localhost:3000. Таким образом, я понял, что это возможно, используя обратный прокси-сервер, и я пытаюсь nginx настроить для этого.

Однако я продолжаю сталкиваться с проблемой, в которой мне нужно указать номер порта, когда я go к полному URL, например: https://example.com:3000/some/path.

Как мне предотвратить это? т.е. я хотел бы просто ввести https://example.com/some/path.

Мой nginx файл conf выглядит следующим образом:

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       443 ssl;
        server_name  example.com;

        ssl_certificate      cert.pem;
        ssl_certificate_key  cert.key;

        location /some/path {
        return 301 $scheme://localhost:3000$request_uri;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }


    server {
        listen 3000 ssl;

        ssl_certificate      cert.pem;
        ssl_certificate_key  cert.key;

        server_name localhost;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

        location / {
        proxy_pass https://localhost:3000;
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    include servers/*;
}

И в моем файле hosts у меня есть строка:

127.0.0.1    example.com

Даже если я сохраню это простым и у меня будет только один раздел сервера с расположением, подобным:

location /some/path {
   proxy_pass https://localhost:3000;
}

Такого рода работы - однако, глядя на консоль, сами ресурсы не загружаются https://example.com/static/js/bundle.js когда это должно быть https://example.com:3000/static/js/bundle.js

Любая помощь будет оценена.

...