Я веду настоящую борьбу с Tomcat 6 (на CentOS 7.6), который стоит за HAproxy 2 (на CentOS 7.7), может быть, кто-нибудь мне поможет.
Я хочу мои пользователи должны установить в веб-браузере что-то вроде http://myapp.mydomain.com, это разрешит HAProxy IP, где он будет взят и перенаправлен на http://TomcatIP: Port / some / path / tofile (один сервер в бэкенде, балансировки пока нет). Кажется, он настроен правильно, потому что, когда я помещаю простой URL-адрес в веб-браузер, появляются значок и заголовок myapp, но остальная часть страницы остается пустой (белая, без каких-либо ошибок, без ошибок, ничего). Я знаю, что есть другие способы сделать это sh без использования HAProxy, но это доказательство концепции, чтобы начать использовать его в качестве внешнего интерфейса для большего количества сайтов и с использованием балансировки нагрузки.
Это мой HAProxy.cfg :
# HAProxy configuration file #
global
maxconn 5000
log /dev/log local0
user haproxy
group haproxy
defaults
log global
mode http
option log-health-checks
option log-separate-errors
option dontlog-normal
option dontlognull
option httplog
option socket-stats
retries 5
maxconn 5000
option redispatch
# Front-ends #
frontend MY_APP
bind IP:80
acl is_myapp hdr(Host) -i myapp.mydomain.com
use_backend backend_myapp if is_myapp
# Back-ends #
backend backend_myapp
http-request set-path /myapp/path/tofile
server myapp IP:Port cookie myapp check
Не знаю, куда go отсюда, любая помощь будет принята с благодарностью. Извините, если мой уровень engli sh отключен! Добавляем некоторую информацию:
Я перехожу к включению журнала haproxy и обнаружил кучу из 404 строк после начального подключения (это единственная строка с 200 OK), когда прокси переходит на сервер для поиска различных компонентов страница. Я вставлю несколько строк, чтобы вы могли видеть:
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58170 [07/May/2020:17:57:43.502] myapp backend_myapp/myapp 5/0/2/3/10 200 3039 - - ---- 1/1/0/0/0 0/0 "GET / HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58170 [07/May/2020:17:57:43.513] myapp backend_myapp/myapp 198/0/2/3/203 404 1269 - - ---- 1/1/0/0/0 0/0 "GET /myapp/static/Shared/ext/resources/css/ext-all.css?144580 HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58171 [07/May/2020:17:57:43.862] myapp backend_myapp/myapp 2/0/1/3/6 404 1231 - - ---- 6/6/1/1/0 0/0 "GET /myapp/static/gxui/gxui-all.css?188160 HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58172 [07/May/2020:17:57:43.862] myapp backend_myapp/myapp 3/0/1/3/7 404 1275 - - ---- 6/6/2/2/0 0/0 "GET /myapp/static/Resources/Spanish/WorkWithPlusTheme.css?1848857 HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58175 [07/May/2020:17:57:43.865] myapp backend_myapp/myapp 5/0/1/4/10 404 1223 - - ---- 6/6/2/2/0 0/0 "GET /myapp/static/gxtimezone.js?70721 HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58174 [07/May/2020:17:57:43.862] myapp backend_myapp/myapp 6/0/2/4/12 404 1279 - - ---- 6/6/1/1/0 0/0 "GET /myapp/static/scaMessage/css/jquery.pnotify.default.css?16960 HTTP/1.1"
May 7 17:57:43 localhost haproxy[6642]: 192.168.18.175:58173 [07/May/2020:17:57:43.863] myapp backend_myapp/myapp 6/0/1/6/13 404 1253 - - ---- 6/6/0/0/0 0/0 "GET /myapp/static/scaMessage/css/jquery-ui.css?16960 HTTP/1.1"
Это то, что я вижу в журнале доступа сервера tomcat:
10.2.0.40 [07/May/2020:19:55:15 -0300] GET /myapp/path/tofilemyapp/static/gxcfg.js?70721 HTTP/1.1 404 1043 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
10.2.0.40 [07/May/2020:19:55:15 -0300] GET /myapp/path/tofilemyapp/static/Shared/ext/adapter/ext/ext-base.js HTTP/1.1 404 1095 51E30637266E0CBD1A2488F384378CE6 http-8080-17 2
10.2.0.40 [07/May/2020:19:55:15 -0300] GET /myapp/path/tofilemyapp/static/Shared/ext/ext-all.js HTTP/1.1 404 1069 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
10.2.0.40 [07/May/2020:19:55:17 -0300] GET /myapp/path/tofilemyapp/static/gxui/gxui-all.js HTTP/1.1 404 1059 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
10.2.0.40 [07/May/2020:19:55:17 -0300] GET /myapp/path/tofilemyapp/static/messages.spa.js?70721 HTTP/1.1 404 1057 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
10.2.0.40 [07/May/2020:19:55:17 -0300] GET /myapp/path/tofilemyapp/static/login.js?2019112512435781 HTTP/1.1 404 1043 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
10.2.0.40 [07/May/2020:19:55:17 -0300] GET /myapp/path/tofilemyapp/static/Shared/jquery/jquery-1.4.2.min.js HTTP/1.1 404 1093 51E30637266E0CBD1A2488F384378CE6 http-8080-17 1
Как вы знаете, проблема в том, что для каждого запроса, который прокси-сервер делает к серверу, он добавляет часть / myapp / path / tofile, поэтому сервер не находит файлы. . Есть способ исправить это? Я хочу перенаправить c в / myapp / path / tofile только первый запрос, когда клиент вводит http://myapp.mydomain.com
Еще раз спасибо