0 голосов

Доброго дня.
При настройке работы через реверс прокси, не работает проброс Infrax
Ошибка:

WebSocket


workerman

Проброс через прокси ведётся на внутренний IP по https и порту 8045.
При этом Identyx настроенный аналогично - работает без проблем.
Как не пытался настроить, проксирование для Infrax просто не работает через реверс прокси. Пробовал как через nginx так и через caddy.

в Установка и развертывание от

1 ответ

0 голосов
Лучший ответ

Добрый день. Если вы хотите опубликовать приложение с использованием reverse proxy, то нужно сделать следующее. Поменять url identyx и infrax в стартовом (консольном) меню приложения. Например:
identyx: https://auth.mycompany.com
infrax: https://infrax.mycompany.com

Перезагрузите приложение. 


Далее, на nginx можно настроить такую конфигурацию:

# /etc/nginx/conf.d/reverse-proxy.conf

# Общие настройки

proxy_http_version 1.1;

proxy_set_header Host $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;

# =========================================================

# 1. Reverse Proxy для Identyx

# =========================================================

server {

    listen 443 ssl;

    server_name auth.mycompany.com;

    # Пути к SSL сертификатам (укажи свои)

    ssl_certificate     /etc/letsencrypt/live/auth.mycompany.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/auth.mycompany.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;

    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {

        proxy_pass https://10.10.10.10:8040;

        proxy_ssl_verify off;   

    }

}

# =========================================================

# 2. Reverse Proxy для Infrax

# =========================================================

server {

    listen 443 ssl;

    server_name infrax.mycompany.com;

    # Пути к SSL сертификатам (укажи свои)

    ssl_certificate     /etc/letsencrypt/live/infrax.mycompany.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/infrax.mycompany.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;

    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {

        proxy_pass https://10.10.10.10:8045;

        proxy_ssl_verify off;

        # Специфичные параметры для infrax

        client_max_body_size 20G;

        proxy_buffering off;

        proxy_request_buffering off;

    }

}

# =========================================================

# HTTP → HTTPS редирект (опционально)

# =========================================================

server {

    listen 80;

    server_name auth.mycompany.com infrax.mycompany.com;

    return 301 https://$host$request_uri;

}

В данном примере "10.10.10.10" - адрес хоста на котором запущен docker 

от Сергей Е (13,4тыс. баллов)
выбран от Сергей Е

Да, все примерно так и было настроено.
Кроме пунктов: 

        client_max_body_size 20G;

        proxy_buffering off;

        proxy_request_buffering off;

Но, их внесение, не помогло.
Ошибка та же при входе по указанному внешнему адресу.
Если указать например вместо внешнего, внутренний для infrax, то хотя бы получается зайти по внутреннему адресу из локальной сети, но даже в таком случае реверсирование не работает.
Как будто что-то еще настроить надо в самом infax чтобы при работе через ресерс прокси работало.

В identyx тоже не получается заходить по внешнему адресу?

Убедитесь, что в identyx подхватился адрес, который вы указали. Настройки -> Общие -> IAM URL. Там не дожлно быть никаких портов, только url включая протокол

В identyx заходит отлично и без проблем. И в настройках там все без портов.
Но при нажатии в "Мои приложения - infrax"- выходит ошибка выше.
Т. е. как бы infrax отвечает, но ответ странный.
При попытке зайти по локальному адресу, он перенаправляет на indentyx, там пишется "Вы вышли как Администратор", жмёшь "Продолжить" и снова тот же текст: WebSocket workerman
 

Методом проб и ошибок, развернули с нуля infrax.
Полностью удалили весь каталог с ПО. Развернули с нуля.
Указали еще раз правильные URL и вроде бы, всё заработало.
С последнего сообщения прошло два дня.
В пятницу, после полной переустановки infrax вроде бы всё заработало. Во всяком случае давало заходить в infrax как админу, так и другим пользователям.
Но, сегодня с утра - вновь та же ошибка при работе через реверс прокси.
Ничего в настройках как самого infrax так и в настройках прокси nginx - не менялось. Используется конфиг который вы приводили выше.
Совершенно тогда становится не понятно в чём проблема. Ну не переустанавливать же infrax каждый день с полным обнулением настроек.
Что еще можно посмотреть, настроить?
Возможно проблема типа hairpini nat. Вы открываете внешний URL из корп сети? Ошибка актуальна если подключаться из внешней сети?
Подключение идёт с компьютера внешнего. Т. е. все адреса - внешние при входе на infrax.
При этом identyx работает, вход туда осуществляется без проблем.
Мы работаем над этим вопросом, чуть позже вернусь с ответом. У нас есть несколько инсталяций через nginx и не сталкивались пока с этой проблемой.
Добрый день!

Провели тестирование с указанным конфигом и не смогли воспроизвести описанную проблему. Пожалуйста, напишите нам на support@audit-telecom.ru, чтобы мы могли подключиться удаленно и детально разобраться в ситуации.
Добро пожаловать на INFRAX Q&A, где вы можете задавать вопросы и получать ответы от других участников сообщества.