You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Конфигурация публичного веб-сервера

upstream iqchannels-public {
  server 127.0.0.1:3001;
}

server {
    listen 80;
    server_name iqchannels.mydomain.ru
    client_max_body_size 10m;

    // Постоянные HTML5 SSE соединения для уведомлений о новых сообщениях.
    location /public/api/v1/sse {
        access_log  /var/log/nginx/iqchannels-public.access.log;
        error_log   /var/log/nginx/iqchannels-public.error.log;

        proxy_pass                  http://iqchannels-public;
        proxy_http_version          1.1;
        proxy_buffering             off;
        proxy_cache                 off;
        chunked_transfer_encoding   off;
        proxy_read_timeout          600;
        proxy_connect_timeout       30;

        proxy_set_header Connection         '';
        proxy_set_header Host               $http_host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;

        add_header Pragma           "no-cache";
        add_header Cache-Control    "private, must-revalidate";
    }

    // Публичное REST API.
    location /public {
        access_log  /var/log/nginx/iqchannels-public.access.log;
        error_log   /var/log/nginx/iqchannels-public.error.log;

        proxy_pass                  http://iqchannels-public;
        proxy_redirect              default;
        proxy_read_timeout          30;
        proxy_connect_timeout       30;

        proxy_set_header Host               $http_host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;

        add_header Pragma           "no-cache";
        add_header Cache-Control    "private, must-revalidate";
    }
}

Конфигурация внутреннего веб-сервера

upstream iqchannels-internal {
  server 127.0.0.1:3002;
}

server {
    listen 80;
    server_name iqchannels-internal.mydomain.ru
    client_max_body_size 10m;

    // Вебсокет-соединения для уведомлений операторов о новых сообщениях.
    location /api/v1/ws {
        access_log  /var/log/nginx/iqchannels-internal.access.log;
        error_log   /var/log/nginx/iqchannels-internal.error.log;

        proxy_pass                  http://iqchannels-internal;
        proxy_http_version          1.1;
        proxy_buffering             off;
        proxy_cache                 off;
        proxy_read_timeout          600;
        proxy_connect_timeout       30;
        chunked_transfer_encoding   off;

        proxy_set_header Upgrade            $http_upgrade;
        proxy_set_header Connection         'upgrade';
        proxy_set_header Host               $http_host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;

        add_header Pragma           "no-cache";
        add_header Cache-Control    "private, must-revalidate";
    }

    // Панель управления, рабочее место оператора, внутренее REST API.
    location / {
        access_log  /var/log/nginx/iqchannels-internal.access.log;
        error_log   /var/log/nginx/iqchannels-internal.error.log;

        proxy_pass                  http://iqchannels-internal;
        proxy_redirect              default;
        proxy_read_timeout          30;
        proxy_connect_timeout       30;

        proxy_set_header Host               $http_host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto  $scheme;

        add_header Pragma           "no-cache";
        add_header Cache-Control    "private, must-revalidate";
    }
}
  • No labels