簡體   English   中英

Nginx是否支持單個Jenkins實例轉發多個端口?

[英]Does Nginx support multiple ports forward with a single Jenkins instance?

在單個CI服務器中,我們有3個Jenkins實例用於DEV / STG / PRD。 每個端口使用3001、3002和3003 TCP端口。 例如,如果要訪問STG Jenkins,則可以使用URL“ 192.168.0.3:3002”訪問服務器。

但是,現在我們必須將Jenkins實例移到Nginx Server后面供遠程用戶使用,這些用戶只能通過Nginx和端口號443訪問Jenkins。防火牆僅開放防火牆的TCP 443端口用於出站流量。 因此(TCP 443的單個Nginx實例),區分DEV / STG / PRD的唯一方法是使用不同的URI。

例如:

  • “ 192.168.0.3:3001”->“ 192.168.0.3:443/dev”
  • “ 192.168.0.3:3002”->“ 192.168.0.3:443/stg”
  • 等等。

以下是我期望的端口轉發示例NginX配置。

server (
listen 443;
server_name localhost;
location /dev (
proxy_pass http://localhost:3001;
)
location /stg (
proxy_pass http://localhost:3002;
)
location /prd (
proxy_pass http://localhost:3003;
)
)

可能嗎? Nginx是否支持單個實例轉發多個端口?

是的,Nginx支持多個上游,您唯一需要做的更改就是自定義Jira服務器XML配置路徑:

請參閱下面的完整配置: https : //gist.github.com/mikhailov/8562320

    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">
          <Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
            factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
          <Manager pathname=""/>
        </Context>
      </Host>
    ....
    </Engine>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM