Как выполнить OpenTest через Apache обратный прокси вместе с другими приложениями - PullRequest
0 голосов
/ 12 марта 2020

Сначала немного контекста

  • У нас есть сервер Ubuntu Server 18.04 LTS, работающий на Azure
  • Наши политики безопасности компании допускают только порты 80 и 443 для доступа через HTTP / HTTPS
  • Любые приложения, такие как Jenkins или NodeJS, работающие на других портах, должны использовать обратный прокси через Apache
  • На том же сервере уже работает Jenkins на порту 8080, а сам Jenkins может быть настроен для работы с помощью так называемого параметра «--path», который делает его доступным через URL http://localhost: 8080 / jenkins , поэтому обратный прокси довольно прост настроить как что-либо, идущее в "/ jenkins", можно просто передать http://localhost: 8080 / jenkins , текущий Apache config (который работает для Jenkins) следующим образом:
        # Jenkins
        ProxyPass         /jenkins  http://localhost:8080/jenkins nocanon
        ProxyPassReverse  /jenkins  http://localhost:8080/jenkins
        ProxyRequests     Off
        AllowEncodedSlashes NoDecode
        <Proxy http://localhost:8080/jenkins*>
           Order deny,allow
           Allow from all
        </Proxy>

Проблема, с которой мы сталкиваемся

Итак, для запуска OpenTest мы должны установить его как npm пакет, который затем можно выполнить, выполнив команду opentest server , это запустит приложение на порту 3000 по умолчанию http://localhost:3000, но можно изменить и предпочтительный порт через конфигурацию https://getopentest.org/reference/configuration.html#server -конфигурация

Проблема в том, что нам нужно перенаправить все скажем, перейдем к "/ opentest" в серверном приложении opentest, но это не работает для всех stati c активов, api urls и т. д. c ... так как приложение просто работает на порту 3000 http://localhost:3000 но, похоже, что-то вроде «--path» Дженкинса не имеет, поэтому мы не можем просто имитировать c тот же обратный прокси-сервер, который у нас есть для Дженкинса; идея заключалась бы в том, чтобы иметь opentest в пути "/ opentest", что-то вроде http://localhost:3000/opentest.

Мы не смогли найти конфигурацию OpenTest, которая позволяла бы мне делать что-то вроде http://localhost:3000/opentest, и мы новички в pm2 , поэтому мы не можем сказать, возможно ли использовать pm2 для запуска приложения OpenTest по «пути» или какому-то «локально известному домену приложения», который мы могли бы используйте для перенаправления обратного прокси на.

Любые мысли, идеи, обходные пути или решения приветствуются; мы могли бы принять неправильный подход здесь, поэтому мы также будем признательны за любые идеи в этом отношении.

Спасибо!

1 Ответ

1 голос
/ 23 марта 2020

Начиная с версии 1.2.0, вы можете использовать параметр конфигурации urlPrefix в server.yaml для выполнения sh этого:

#...

urlPrefix: /opentest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...