0%

JIRA/confluence 反向代理+内网穿透配置

利用一个IP同时部署JIRA与Confluence.

JIRA/Confluence简介

JIRA是Atlassian公司开发的一套IT研发管理工具,许多IT大厂都在使用;另外,也是一套非常好用的项目管理工具,适用于多部门协作,可以记录项目状态,推进项目进度。

Confluence是Atlassian公司开发的知识管理工具,与JIRA可以搭配使用,作用与wiki比较类似,适用于记录各种常见问题,记录会议纪要等等。

为什么要做反向代理

  1. 对个人或者小微企业而言,固定的IP资源还是非常宝贵的,每年为IP付出的成本较高。
  2. 反向代理可以摆脱固定IP限制,直接将服务器与域名绑定,轻松实现域名访问。
  3. 由于脱离了固定IP限制,可以一定程度上绕过备案(不备案或只备案一台有固IP的转发服务器即可)

为什么要做内网穿透

  1. 个人或小微企业的服务器通常放在局域网环境下
  2. 如果要从因特网(Internet)访问到服务器,必须穿透连接局域网与因特网的连接:路由器
  3. 个人入户路由器的IP通常是不固定的

解决方案1

在具有固定IP的服务器搭建ngrokd服务,作为转发服务器,所有访问内网服务器的流量均通过该转发服务器。

  • 需要购买阿里云/腾讯云服务器等有固定IP的服务器,作为转发服务器
  • 在转发服务器搭建ngrokd服务
  • 隧道数目理论无限制

转发服务器搭建

见往期 博客,不再赘述

现有资源

  • H1:安装JIRA/confluence的服务器,需要通过反向代理暴露到因特网,没有固定外网IP
  • H2:作为ngrokd的转发服务器,已备案域名,如 abcd.efg

期望访问JIRA/confluence效果

解决思路

设置多个ngrok隧道,在配置文件中添加subdomain标签即可实现

配置方法

  1. 关闭H2服务器80端口,注意如果用宝塔,则需要修改/www/server/panel/vhost/nginx/.conf下所有文件*
  2. H2运行下列命令
    1
    /usr/sbin/ngrokd -domain=abcd.efg -log-level=WARNING -httpAddr=:80 -httpsAddr=:443
  3. H1运行
    1
    ngrok-work  --config=web.cfg start  jira confluence
    H1的ngrok客户端配置:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    server_addr: "abcd.efg:443"
    trust_host_root_certs: false
    tunnels:
    jira:
    subdomain: jira
    proto:
    http: 8080
    confluence:
    subdomain: confluence
    proto:
    http: 8090

解决方案2

利用国内Ngrok服务提供商(natappsunny-ngrok,等)提供的ngrok服务

  • 无需购买搭建ngrokd转发服务器,使用方便
  • 一般按照需要隧道数目付费

搭建方式

服务商一般会提供:

  1. 一个已编译好的可执行程序
  2. 一个token,或者其他身份识别凭据

按照服务商的教程,在网页端设定需要转发的端口号,在服务器运行ngrok命令即可实现转发
例如natapp的运行方式:

1
natapp -authtoken=dsafaewqr23421fjkwqjfdf  -log=stdout

注,如需作为长期服务,可以自己构建service命令,利用systemctl管理服务

现有资源

  • H1:存放JIRA和confluence的服务器,没有固定外网IP
  • H2:Ngrok服务商提供的域名及隧道token等,但只能绑定一个域名(如abcdefg.s1.natapp.cc)

期望访问JIRA/confluence效果

解决思路

利用apache的反向代理功能,将服务器的不同端口转发到不同的url空间

修改方法

  1. apache http配置文件中添加/etc/httpd/conf.d/proxy.conf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ProxyPass /jira http://127.0.0.1:8080/jira
    ProxyPassReverse /jira http://127.0.0.1:8080/jira
    ProxyPass /confluence http://127.0.0.1:8090/confluence
    ProxyPassReverse /confluence http://127.0.0.1:8090/confluence
    <proxy *>
    AllowOverride None
    Order Deny,Allow
    Allow from all
    </proxy>

  2. 在jira配置中修改:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <Service name="Catalina">
    <Connector port="8080"
    #添加如下三行代码:
    proxyName="abcdefg.s1.natapp.cc"
    proxyPort="80"
    scheme="http"

    bindOnInit="false"/>


    #path中添加/jira
    <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">

注意事项

  • 修改完之后,要登录jira,修改 服务器主页URL
  • 如配置了LDAP服务,需要修改confluence中用户目录JIRA Server的地址(只有同步失败且放到第二选项才能编辑)