第一个上下文
- 我们有一个运行在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
。
我们找不到任何允许我执行 pm2欢迎任何想法、想法、解决方案或解决方案;我们可能在这方面采取了错误的做法,因此我们也希望在这方面有任何见解。 谢谢!http://localhost:3000/opentest
之类操作的OpenTest配置,并且我们是pm2的新手,因此我们无法判断是否可以使用
从1.2.0版本开始,您可以使用server.yaml
中的urlPrefix
配置参数来实现这一点:
#...
urlPrefix: /opentest