HAProxy Маршрут к бэкэнду - PullRequest
       6

HAProxy Маршрут к бэкэнду

0 голосов
/ 23 октября 2018

Итак, у меня была забавная проблема, что я не уверен, что сломалось.У меня есть прокси-сервер, а затем несколько бэкэнд-серверов, на которых работает Docker Swarm.То, что я хочу сделать, это предоставить преобразование URL для портов.

Итак, давайте назовем серверную службу backend-а, ​​приложение, которое я хочу, работает на порту 8081. Я могу пойти и сделать http://server -a: 8081 весь день без проблем.

Что я хочу сделать, так это сопоставить URL-адрес http://proxy -сервер / управление с http://server-a: 8081 .У меня в Swarm работает несколько десятков сервисов, поэтому это решение будет расширено.

Вот мой haproxy.cfg:

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    user haproxy
    group haproxy
    daemon
    ssl-server-verify none

defaults
    log        127.0.0.1       local0
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client 50000
    timeout server 50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

listen stats
bind *:1936
stats enable
stats uri /
stats hide-version
stats auth stats:stats

frontend http_proxy
    bind *:80
    mode http

    acl management_path path_beg -i /management

     use_backend management_application if management_path

backend management_application
    mode http
    option forwardfor
    server server-a 10.27.200.1:8081 check

Когда я перехожу, вот записи журнала

23.10 17:49:21 ipv6-localhost haproxy: nnn.nnn.nnn.nnn: 60150 [23 / Oct / 2018: 17: 49: 21.990] http_proxy management_application / server-a 0/0/0/2 /2 304 163 - - ---- 2/2/0/1/0 0/0 {GET / management HTTP / 1.1} "http://GET / rancher HTTP / 1.1"

23 октября17:49:21 ipv6-localhost haproxy: nnn.nnn.nnn.nnn: 60150 [23 / Oct / 2018: 17: 49: 21.993] http_proxy http_proxy / -1 / -1 / -1 / -1 / 5 503 213- - SC-- 1/1/0/0/0 0/0 {GET /assets/vendor.css HTTP / 1.1} "http://GET /assets/vendor.css HTTP / 1.1"

23.10 17:49:21 ipv6-localhost haproxy: nnn.nnn.nnn.nnn: 60151 [23 / Oct / 2018: 17: 49: 21.992] http_proxy http_proxy / -1 / -1 / -1 / -1/ 7 503 213 - - SC-- 0/0/0/0/0 0/0 {GET /assets/ui-173435239849ea7eb73d8f2e17732e45.js HTTP / 1.1} "http://GET /assets/ui-173435239849ea7eb73d8f2e17732e45.jsHTTP / 1.1 "

23.10.17: 49: 22 ipv6-localhost haproxy: nnn.nnn.nnn.nnn: 60152 [23 / Oct / 2018: 17: 49: 22.004] http_proxy http_proxy / -1 / -1 / -1 / -1 / 0 503 213 -- SC-- 0/0/0/0/0 0/0 {GET /assets/vendor-77489dadbb0709acf44882f0dde4b110.js HTTP / 1.1} "http://GET /assets/vendor-77489dadbb0709acf44882f0ds4b1 * 1,1jjjj1.1035 *

Я получаю красивый пустой экран и соединение закрыто.Не уверен, что происходит, и не знаю, как выполнить расширенную отладку, чтобы увидеть, где что-то останавливается.Любые советы будут высоко оценены.

...