Проксирование websocket трафик от nginx 1.3.13 к socket.io (без SSL)

Уверенный Вы можете, но это, вероятно, не хорошая идея. Вы не упоминали, какой протокол Вы используете для совместного использования, но это может иметь значение, и Вы не упоминали если Вы где, собираясь использовать BDB или FSFS.

Поскольку цели безопасности, Ваш SVN должен смочь заблокировать файлы, в то время как он использует их. Этому нужна фиксация для фактического приведения к данным, посвящающим себя к диску, обычно можно только быть уверены в вещах как это на дисках, которые ОС видит, как непосредственно присоединено.

При рассмотрении раздела Repository Data-Stores руководства, Вы будете видеть, что FSFS поддерживается в сетевых файловых системах за счет производительности.

Если Вы обеспокоены проблемами доступности, Вы могли бы быть более обеспеченной установкой Вашего репозитория на локальном диске, и затем запланировать резервное копирование или установить один из различных SVN зеркальное отражение систем, таким образом, копия Вашего репозитория сохранена где-то в другом месте также.

5
задан 4 March 2015 в 00:13
2 ответа

ОК, здесь работают веб-сокеты через nginx "

Я изменил свой раздел местоположения на:

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://backend;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

Теперь он устанавливает очень быстрые подключения к веб-сокетам. Ура!

4
ответ дан 3 December 2019 в 01:32

socket.io немного коварен, поскольку автоматически обслуживает клиентский скрипт socket.io.js откуда-то из каталога node_modules.

Итак, что вам нужно сделать, это сообщить nginx чтобы передать запросы для этого местоположения также на ваш node.js. В моем nginx.conf у меня есть:

    location /chat {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /socket.io {
        proxy_pass http://backend;
    }

Однако до меня доходит только то, что тогда соединение с веб-сокетом завершается с ошибкой 502 «плохой шлюз».

После этого socket.io возвращается к xhr-polling, который является очень, очень медленно.

2
ответ дан 3 December 2019 в 01:32

Теги

Похожие вопросы