Итак, у меня была забавная проблема, что я не уверен, что сломалось.У меня есть прокси-сервер, а затем несколько бэкэнд-серверов, на которых работает 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 *
Я получаю красивый пустой экран и соединение закрыто.Не уверен, что происходит, и не знаю, как выполнить расширенную отладку, чтобы увидеть, где что-то останавливается.Любые советы будут высоко оценены.