Назад | Перейти на главную страницу

на localhost forward proxy webrick, тонкий, единорог на внешний host.com/http-bind

Я работаю над проектом rails, где мне нужен прокси / http-bind, и я не могу ничего найти об этом или найти ресурс, чтобы заявить, что это возможно. Мне это нужно в среде разработки Знайте, что можно использовать unicorn + nginx для пересылки прокси-сервера с помощью unicorn, НО я ищу простой быстрый способ сделать это локально в моей среде разработки .... Итак, unicorn, thin или webrick способны выполнять http-bind прокси вперед?

* host.com/http-bind ( xmpp http-bind ) already running

* localhost:3000 THIN server posts to /http-bind returns a 404 not found currently nothing mapped.

Можно ли перенаправить трафик

http://localhost:3000/http-bind 

к

my external http://host.com/http-bind ? 

Такие серверы, как thin и webrick, отлично подходят для прототипирования, а unicorn и пассажира - отличные серверы приложений, но они не предназначены для использования в качестве полнофункциональных веб-серверов. Для такого рода вещей вам действительно следует использовать реальный веб-сервер (например, apache или nginx с пассажиром), поскольку он обеспечивает достаточную гибкость для выполнения такого рода перенаправлений и других сложных конфигураций, которые вам понадобятся в производстве.

Вы можете довольно легко бросить nginx перед тонким; затем он отвечал на порт 80, а запросы прокси - на порт 3000. Минимальный образец конфигурации может выглядеть как:

upstream thin {
    server 127.0.0.1:3000;
}
server {
    listen   80;
    server_name .example.com;

    access_log /var/www/myapp.example.com/log/access.log;
    error_log  /var/www/myapp.example.com/log/error.log;
    root       /var/www/myapp.example.com;
    index      index.html;

    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_redirect    off;
        try_files $uri $uri/ @ruby;
    }

    location @ruby {
        proxy_pass http://thin;
    }
}

Затем вы можете добавить location для чуши что-то вроде этого:

    location /http-bind/ {
        proxy_buffering off;
        tcp_nodelay on;
        keepalive_timeout 55;
        proxy_pass http://xmpp.server:5280/xmpp-httpbind/;
    }