Как развернуть несколько приложений стека MEAN, используя nginx - PullRequest
0 голосов
/ 04 февраля 2020

Я готов развернуть два приложения стека MEAN на одном сервере nginx, работающем на сервере centOs. Моя конфигурация для этих двух приложений выглядит следующим образом:

01:

    server
    {
    listen 80;
    listen [::]:80;
    server_name magento;

    location /
    {
        proxy_pass http://127.0.0.1:3000;
        include /etc/nginx/proxy_params;
    }
    }

02:

    server
    {
    listen 80;
    listen [::]:80;
    server_name queue;

    location /
    {
        proxy_pass http://127.0.0.1:5000;
        include /etc/nginx/proxy_params;
    }
    }

proxy_params:

        proxy_buffers 16 32k;
        proxy_buffer_size 64k;
        proxy_busy_buffers_size 128k;
        proxy_cache_bypass $http_pragma $http_authorization;
        proxy_connect_timeout 59s;
        proxy_hide_header X-Powered-By;
        proxy_http_version 1.1;
        proxy_ignore_headers Cache-Control Expires;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
        proxy_no_cache $http_pragma $http_authorization;
        proxy_pass_header Set-Cookie;
        proxy_read_timeout 600;
        proxy_redirect off;
        proxy_send_timeout 600;
        proxy_temp_file_write_size 64k;
        proxy_set_header Accept-Encoding '';
        proxy_set_header Cookie $http_cookie;
        proxy_set_header Host $host;
        proxy_set_header Proxy '';
        proxy_set_header Referer $http_referer;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Original-Request $request_uri;

Таким образом, Я выполняю обратное проксирование первого на порт 3000 и второго на порт 5000. Но когда я нажал на URL своего сервера, я получил только первый сайт. Я ударил их с помощью url / magento и url / queue.

Я нашел другой метод в inte rnet, где я должен определить конфигурацию как

    server
    {
    listen 80;
    listen [::]:80;
    server_name _;

    location /
    {
        proxy_pass http://127.0.0.1:3000;
        include /etc/nginx/proxy_params;
    }
    location /queue {
        rewrite ^/queue(.*) $1 break;
        proxy_pass http://127.0.0.1:5000;
    }

    }

. Url / работает нормально, но когда я нажимаю 'url / queue', Я получил ошибку 400 (BAD REQUEST). Я проверил свой nginx журнал ошибок и обнаружил ошибку:

[error] 68071#0: *2 connect() failed (111: Connection refused) while connecting to upstream

Поиск по этому значению через inte rnet Я обнаружил, что мне нужно выполнить некоторые настройки с:

setsebool -P httpd_can_network_connect on

Но, это не решило мою проблему. То, что я хочу, это способ размещения нескольких приложений MEAN на одном nginx. Любое решение с nginx будет оценено.

...