如何通过 Apache 反向代理与其他应用程序一起执行 OpenTest

How to execute OpenTest thru Apache reverse proxy along with other applications

首先是一些上下文

        # 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>

我们面临的问题

因此,对于 运行ning OpenTest,我们必须将其安装为 npm 包,然后可以通过 运行ning opentest server 命令执行,它将启动应用程序默认端口 3000 http://localhost:3000 但也可以通过配置更改首选端口 https://getopentest.org/reference/configuration.html#server-configuration

问题是我们需要重新路由任何东西,比方说将“/opentest”转到 opentest 服务器应用程序,但这不适用于所有静态资产、api url 等。 .. 因为该应用程序只是 运行ning 在端口 3000 http://localhost:3000 上,但似乎没有像 Jenkins 的“--path”这样的东西,所以我们不能只模仿相同的反向代理我们有詹金斯;这个想法是在路径“/opentest”中进行 opentest,类似于 http://localhost:3000/opentest.

我们找不到任何允许我做类似 http://localhost:3000/opentest 的 OpenTest 配置,我们是 pm2 的新手,所以我们无法判断它是否可以使用 pm2 到 运行 "path" 或某种 "local known application domain" 中的 OpenTest 应用程序,我们可以使用它来重新路由反向代理到。

欢迎任何想法、想法、解决方法或解决方案;我们可能在这里采取了错误的方法,因此我们也将感谢您在这方面的任何见解。

谢谢!

从 1.2.0 版本开始,您可以使用 server.yaml 中的 urlPrefix 配置参数来完成此操作:

#...

urlPrefix: /opentest