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



第一个上下文

  • 我们有一个运行在Azure上的Ubuntu服务器18.04 LTS服务器
  • 我们公司的安全策略只允许通过HTTP/HTTPS访问端口80和443
  • 任何在其他端口上运行的应用程序(如Jenkins或NodeJS(都应该通过Apache使用反向代理
  • 同一台服务器已经在8080端口上运行了Jenkins,Jenkins本身可以配置为使用他们所称的"--path"参数运行,该参数使其可以通过URL访问http://localhost:8080/jenkins,因此反向代理是非常直接的配置,因为任何进入"/jenkins"的东西都可以直接传递给http://localhost:8080/jenkins,当前Apache配置(适用于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服务器应用程序,但这对所有静态资产、api URL等都不起作用……因为该应用程序只是在3000http://localhost:3000端口上运行,但似乎没有像Jenkins的"--path"那样的东西,所以我们不能只是模仿Jenkins的反向代理;这个想法是在路径"/opentest"中进行opentest,类似于http://localhost:3000/opentest

我们找不到任何允许我执行http://localhost:3000/opentest之类操作的OpenTest配置,并且我们是pm2的新手,因此我们无法判断是否可以使用

pm2欢迎任何想法、想法、解决方案或解决方案;我们可能在这方面采取了错误的做法,因此我们也希望在这方面有任何见解。

谢谢!

从1.2.0版本开始,您可以使用server.yaml中的urlPrefix配置参数来实现这一点:

#...
urlPrefix: /opentest

相关内容

  • 没有找到相关文章

最新更新