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

HAProxy кеширует пересылку?

Я пытаюсь настроить структуру сервера для приложения, которое я создаю в Node.js с помощью socket.io.

Моя установка:

Интерфейс HAProxy вперед к

     -> apache2 as default backend (or nginx, is apache in this local test)

     -> node.js app if the url has socket.io in the request AND a domain name

у меня что-то вроде:

  global
    log 127.0.0.1   local0
    log 127.0.0.1   local1 notice
    maxconn 4096
    user haproxy
    group haproxy
    daemon

  defaults
    log     global
    mode    http
    maxconn 2000
    contimeout      5000
    clitimeout      50000
    srvtimeout      50000


frontend all 0.0.0.0:80
timeout client 5000
default_backend www_backend

acl is_soio url_dom(host) -i socket.io #if the request contains socket.io

acl is_chat hdr_dom(host) -i chaturl #if the request comes from chaturl.com

use_backend chat_backend if is_chat is_soio

backend www_backend
balance roundrobin
option forwardfor # This sets X-Forwarded-For
timeout server 5000
timeout connect 4000
server server1 localhost:6060 weight 1 maxconn 1024 check #forwards to apache2

backend chat_backend
balance roundrobin
option forwardfor # This sets X-Forwarded-For
timeout queue 50000
timeout server 50000
timeout connect 50000
server server1 localhost:5558 weight 1 maxconn 1024 check #forward to node.js app

Проблема возникает, когда я сделал запрос к чему-то вроде www.chaturl.com/index.html, он загружается отлично, но не загружает файлы socket.io (www.chaturl.com/socket.io/socket.io.js), почему он перенаправляет на apache (и должен перенаправлять в приложение node.js, которое обслуживает файлы). Странно то, что если я обращаюсь непосредственно к файлу socket.io после нескольких обновлений, он загружается, поэтому я полагаю, что это «кэширование» пересылки для клиента, когда он делает первый запрос и достигает сервера apache.

Любое предложение о том, как это можно решить? или что я могу попробовать или посмотреть об этом?

"option http-server-close" отсутствует в вашей конфигурации. Добавьте его, и ваши проблемы исчезнут.