невозможно сопоставить несколько приложений, используя haproxy? - PullRequest
0 голосов
/ 13 октября 2019

Итак, в основном у меня есть 2 разных приложения, работающих на портах 5000 и 30000 на одном сервере Ubuntu соответственно. Оба эти приложения должны отображаться с помощью haproxy.

то, что я пробовал до сих пор -

что я пробовал до сих пор -

frontend http-in
    mode    http

    bind *:80
    bind *:443 ssl crt /etc/ssl/private/mydomain.pem
    http-request redirect scheme https code 301 if !{ ssl_fc }

    acl path-employeeList              path_beg -i /ProcessDesigner
    use_backend backend1               if path-employeeList

    acl path-employeeListfinal            path_beg -i /ProcessCore
    use_backend backend2               if path-employeeListfinal

backend backend1
    mode    http

    option  httplog
    option  forwardfor
    reqrep  ^([^\ :]+)\ /ProcessDesigner/?(.*)$  \1\ /\2

    server  backend1  206.189.22.155:30000


backend backend2
    mode    http

    option  httplog
    option  forwardfor
    reqrep  ^([^\ :]+)\ /ProcessCore/?(.*)$  \1\ /\2

    server  backend2 206.189.22.155:5000

Теперь здесь / ProcessDesigner и / ProcessCore - это просто псевдоним / вымышленное имя. В настоящее время https://206.189.22.155/ProcessDesigner показывает только частичный вывод (я имею в виду, что некоторые части страницы не загружаются из-за недоступности службы ошибок 503), а второе приложение в https://206.189.22.155/ProcessCore также не показывает вывод (простобелый пустой экран).

Примечание. Если я добавлю нижеупомянутые строки в мой интерфейс

acl path-employeeListnew              path_beg -i /
use_backend backend1               if path-employeeListnew

, то в этом случае приложение на https://206.189.22.155/ProcessDesigner будет работать правильно, и я могуСм. полный вывод. Но это исправление не является правильным, потому что теперь, если я нажму https://206.189.22.155/ProcessCore, я получу 404 не найдена ошибка. Единственный случай, когда https://206.189.22.155/ProcessCore работает, это когда я использую приведенную ниже конфигурацию -

frontend http-in
    mode    http

    bind *:80
    bind *:443 ssl crt /etc/ssl/private/mydomain.pem
    http-request redirect scheme https code 301 if !{ ssl_fc }

    acl path-employeeListnew              path_beg -i /
    use_backend backend2               if path-employeeListnew

    acl path-employeeListfinal            path_beg -i /ProcessCore
    use_backend backend2               if path-employeeListfinal 

    backend backend2
    mode    http

    option  httplog
    option  forwardfor
    reqrep  ^([^\ :]+)\ /ProcessCore/?(.*)$  \1\ /\2

    server  backend2 206.189.22.155:5000

Поэтому в любой момент времени я могу отобразить только одно приложение, а не несколько приложений. Пожалуйста, помогите, так как я не думаю, что что-то может измениться в самом приложении, я верю, что с моей конфигурацией haproxy что-то не так.

...