Прокси / шлюз для привязки HTTP - PullRequest
0 голосов
/ 27 января 2012

У меня есть следующая инфраструктура, и я хочу создать онлайн-чат (на сервере 1), используя наш внутренний сервер xmpp (сервер 2), на котором работает сервер Openfire.

wan <----> сервер 1 <----> сервер 2

Сервер 1 может связаться с сервером 2 только через HTTP-прокси. Поэтому мне нужна возможность получить HTTP-привязку или что-то еще на сервере 1, который обеспечивает привязки для веб-чата, такого как JWChat или Co.
Я думаю, что простое перенаправление на HTTP-привязку на сервере 2 было бы хорошо, но я не знаю, как.

Возможно, есть еще одна возможность, спасибо за любые советы.

EDIT:
Конфигурация nginx теперь выглядит следующим образом:

server {
    listen       8000;
    server_name  server1 localhost;

    location ~ ^/http-bind {
        proxy_pass http://server2:8085;
    }

    location / {
        proxy_pass http://proxy:3128;
    }
}

Но следующие команды не работают правильно:

-bash-4.1# wget http://localhost:8000
--2012-02-06 10:57:14--  http://localhost:8000/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... 400 Bad Request
2012-02-06 10:57:14 ERROR 400: Bad Request.

-bash-4.1# wget http://localhost:8000/http-bind
--2012-02-06 10:57:21--  http://localhost:8000/http-bind
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... 502 Bad Gateway
2012-02-06 10:57:21 ERROR 502: Bad Gateway.

Что не так?

1 Ответ

0 голосов
/ 03 февраля 2012

Обычно сервер 1 будет работать:

  1. прокси
  2. Веб-сервер, на котором запущено приложение чата.

Предположим, что nginx является прокси-сервером, работающим на порту 80, и ваш веб-сервер, работающий на порту 8080, также выбран. Также предположим, что ваш веб-клиент будет связываться с /http-bind. Ваша конфигурация nginx будет содержать:

    server {
        listen       80;
        server_name  server1;

        location ~ ^/http-bind {
            proxy_pass http://server2:5280;
        }

        location / {
            proxy_pass http://localhost:8080/;
        }

    }

Адаптируйся соответственно для другого прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...