Я работаю над проектом 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/;
}