致力于IT技巧与知识分享

使用Microsoft Internet信息服务(IIS)代理Atlassian服务器应用程序

Atlassian应用程序允许在我们的产品中使用反向代理,但Atlassian支持不提供配置它们的帮助。因此,Atlassian 不能保证为他们提供任何支持

如果需要配置协助,请在Atlassian Answers上提出问题。

本页说明如何建立Internet信息服务(IIS)充当 Atlassian服务器应用程序的反向代理的网络拓扑 。 该页面已成为成功的秘诀 – 我们建议您按部就班地进行操作。

当您希望用户访问Atlassian应用程序时,您可以考虑使用反向代理:

对于更复杂的情况,您可以参考  Microsoft IIS文档,咨询组织中的Internet信息服务(IIS)专家,在Atlassian Answers上提出问题   或联系我们的  Atlassian Experts

本页面上的说明适用于以下Atlassian服务器应用程序:

  • JIRA server applications (JIRA Software Server, JIRA Core, JIRA Service Desk)
  • Confluence Server
  • Bamboo Server
  • Bitbucket Server
  • FishEye
  • Crucible
  • Crowd

在本页后面的示例中,<atlassianapp>引用上面的任何Atlassian服务器应用程序的名称。

Atlassian服务器应用程序捆绑了一个Web服务器,这使得它们无需代理服务器即可运行。对于大多数Atlassian应用程序,捆绑的Web服务器是 Apache Tomcat  (FishEye和Crucible使用  Jetty )。因此,在代理Atlassian应用程序时,您需要配置Tomcat(如果使用FishEye或Crucible)或IIS,则配置Tomcat。

在本页:

先决条件

你需要以下内容:

Internet信息服务(IIS)版本7.0,8.0或10.0安装

您可能会发现参考Microsoft IIS文档  以在您的Microsoft Windows Server中安装IIS 很有帮助  。(http://www.iis.net/learn/get-started/whats-new-in-iis-8/installing-iis-8-on-windows-server-2012

适当的DNS条目并为您的域配置

您应该检查系统或网络管理员,看您的组织当前的DNS配置是否需要更改以支持您希望设置的代理拓扑。

Atlassian应用程序已安装,并可通过Web浏览器访问

以通常的方式安装Atlassian应用程序。

部分A.配置Atlassian应用程序

本节介绍如何配置与每个Atlassian应用程序绑定的Tomcat(或Jetty)Web服务器在逆向代理后运行。

1.停止Atlassian应用程序

停止应用程序也会阻止Tomcat。

点击停止信息…

JIRA applications Use these commands from the JIRA installation directory:

  • bin/start-jira.sh
  • bin/stop-jira.sh

On Windows, use:

  • bin\start-jira.bat
  • bin\stop-jira.bat

See also JIRA application Startup and Shutdown Scripts.

Confluence Use these commands from the Confluence installation directory:

  • bin/start-confluence.sh
  • bin/stop-confluence.sh

On Windows, use:

  • bin\start-confluence.bat
  • bin\stop-confluence.bat

See also Starting Confluence Automatically on System Startup.

Bamboo Server Use these commands from the Bamboo installation directory:

  • bin/start-bamboo.sh
  • bin/stop-bamboo.sh

On Windows, use:

  • bin\start-bamboo.bat
  • bin\stop-bamboo.bat

See also Running Bamboo as a service.

Bitbucket Server

Use these commands from the Bitbucket installation directory:

  • bin/start-bitbucket.sh
  • bin/stop-bitbucket.sh

On Windows, use:

  • bin\start-bitbucket.bat
  • bin\stop-bitbucket.bat

See also Starting and stopping Bitbucket Server.

FishEye Use these commands from the FishEye installation directory:

  • bin/start.sh
  • bin/stop.sh

On Windows, use:

  • bin\start.bat
  • bin\stop.bat

See also Running FishEye as a Windows service.

Crucible Use these commands from the Crucible installation directory:

  • bin/start.sh
  • bin/stop.sh

On Windows, use:

  • bin\start.bat
  • bin\stop.bat

See also Running Crucible as a Windows service.

Crowd Use these commands from the Crowd installation directory:

  • /start_crowd.sh
  • /stop_crowd.sh

On Windows, use:

  • \start-crowd.bat
  • \stop-crowd.bat

See also Installing Crowd as a Windows Service.

2.设置上下文路径

只有当您希望在上下文路径上访问应用程序时,才需要执行此步骤,例如。如果这不是必需的,你可以跳过这一步。 http://ourcompany.com/<contextpath>

FishEye和坩埚

如果您正在代理  FishEye或Crucible,请从管理区域为Jetty配置Web上下文路径。请参阅  配置FishEye Web服务器

完成之后,请继续阅读下面的B部分

Bitbucket Server 5.0+

在到位桶服务器5.0+,上下文路径可以通过修改来改变  server.context-path在 $BITBUCKET_HOME/shared/bitbucket.properties

BITBUCKET.PROPERTIES
server.context-path=/bitbucket
JIRA应用程序,Confluence,Bitbucket Server 4.x及更低版本,Bamboo

如果您正在代理任何这些Atlassian服务器应用程序,请server.xml按以下方式在Tomcat 文件中配置上下文路径。

The location of your server.xml file depends on your application, operating system, and installation location.Common default installation locations for Atlassian applications are:

  • Linux: /opt/atlassian/<application-name>
  • Windows: C:\Program Files\Atlassian\<application-name>
  • Windows: C:\Atlassian\<application-name>

Locations in Atlassian application’s folder structure:

Application server.xml location
Bamboo <install-path>/conf/
Confluence <install-path>/conf/
Crowd <install-path>/apache-tomcat/conf/
Crucible As for FishEye.
FishEye The FishEye configuration file is config.xml, see Configuring the FishEye web server and How to enable Fisheye/Crucible to listen to web requests on additional ports.
JIRA applications <install-path>/conf/
Bitbucket Server 5.0 N/A, replaced by <Bitbucket home directory>/shared/bitbucket.properties

Please read through Migrate server.xml customizations to bitbucket.properties

Bitbucket Server 4.0 – 4.14 <Bitbucket home directory> /shared/server.xml
Stash 3.8 – 3.11 <Stash home directory>/shared/

If you are on any of these later releases but your server.xml does not exist in the directory above, it means that you are running from the <install-path>/conf/server.xml.

We recommend that you copy <install-path>/conf/server.xml into <Stash home directory>/shared/ that way you won’t need to worry about this when you upgrade your instance.

Stash 3.7 and earlier <install-path>/conf/

<install-path> refers to where the application was installed on your system.

 

在Tomcatserver.xml  以外的所有应用程序的Tomcat  配置文件中,找到如下所示的   指令:Context
<Context path="" docBase="${catalina.home}/atlassian-<atlassianapp>" reloadable="false" useHttpOnly="true">

更改指令以添加新的上下文路径:

<Context path="/<contextpath>" docBase="${catalina.home}/atlassian-<atlassianapp>" reloadable="false" useHttpOnly="true">

为< contextpath> 使用自己的值。通常,每个应用程序都会使用不同的上下文路径。

重要的是,该  path 值具有前导斜杠(/)  path="/<contextpath>" 而不是  path="<contextpath>"

使用这些说明更新Crowd上下文路径

3.配置连接器指令

3.1。配置FishEye / Crucible网络服务器(Jetty)

如果您使用的是FishEye或Crucible,请在Admin区域中配置代理主机,代理方案和代理端口。请参阅  配置FishEye Web服务器

如果您正在配置Bitbucket Server 5.0

Bitbucket Server 5.0开始,您不能直接配置任何Tomcat连接器,因此本节中的配置仅适用于Bitbucket服务器4.14或更早版本。

server.xml 配置已被替换为 <Bitbucket home directory>/shared/bitbucket.properties

请仔细阅读  将server.xml自定义项迁移到bitbucket.properties以检查相应的属性,并翻译下面的配置。完成映射后,bitbucket.properties转到B部分。配置SSL

config.xml 通过配置类似于:也可以直接在配置中更改配置。

<web-server site-url="http://<subdomain>.<domain>.com" context="">
   <http bind=":8060" proxy-port="80" proxy-scheme="http" proxy-host="<subdomain>.<domain>.com"/> 
</web-server>

3.2。配置其他Atlassian应用程序Web服务器(Tomcat)

如果您使用的是其他Atlassian服务器应用程序,请按照以下说明配置指令。 Connector

对于每个应用程序,找到正常(非SSL)  Connector 在Tomcat的指令  server.xml 文件,并添加  scheme,   proxyName和  proxyPort属性的内部Connector指令,如下图所示。使用其他属性( 包括for)  的默认值port ,  除非您有特别的理由更改它们,并使用您自己的域名作为proxyName值:

<Connector port=<default>
	maxThreads=<default>
    minSpareThreads=<default>
    connectionTimeout=<default>
    enableLookups=<default>
    maxHttpHeaderSize=<default>
    protocol=<default>
    useBodyEncodingForURI=<default>
    redirectPort=<default>
    acceptCount=<default>
    disableUploadTimeout=<default>
	proxyName="<subdomain>.<domain>.com"
	proxyPort="80"
	scheme="http"/>

请注意,该  proxyName 参数应设置为 IIS将配置为提供服务的  FQDN。这是用户在他们的浏览器中输入访问应用程序的地址。例如:

  • 用于访问类似于子域的应用程序 <atlassianapp>.ourcompany.com http://<atlassianapp>.ourcompany.com/
  • 用于ourcompany.com 像上下文路径一样访问应用程序  。在这种情况下,上下文路径不应该包含在   参数中,并且您将在上面的第2步中设置该指令。http://ourcompany.com/<atlassianapp> proxyNameContext
  • 如果SSL在IIS处终止,则使用proxyPort =“443 ”和scheme =“https”

有关配置Tomcat连接器的更多信息,请参阅  Apache Tomcat 7.0 HTTP连接器参考

 

B部分:配置Internet信息服务(IIS)

1.确保您的IIS服务器上安装了ARR,URL重写和请求过滤

如果您 的IIS服务器上没有  应用程序请求路由  和URL重写,请使用Web Platform Installer安装它们  。

如果请求筛选未安装在您的IIS实例中,则可以在https://www.iis.net/configreference/system.webserver/security/requestfiltering上进行安装  。

2.启用ARR上的代理

  1. 从IIS7控制台中,单击  Server_Name  并打开  应用程序请求路由缓存
  2. 从 右侧的  动作面板中,选择“ 服务器代理设置 ”
  3. 选中“ 启用代理服务器 ”并将HTTP版本设置   为“ HTTP / 1.1 ”:
  4. 取消选择“在响应标题中反向重写主机”,然后将所有其他选项保留为默认值,然后单击应用以应用更改。

3.添加一个新的IIS网站

(信息) 在本文中,该网站添加了jira.example.com。您可以使用正确的实例/域更改它。

有关如何在IIS上创建网站的更多信息,请访问  https://support.microsoft.com/en-us/kb/323972

4.添加一个新的URL重写规则

  1. 从IIS控制台中,单击  jira.example.com  并打开  URL重写
  2. 从 右侧的“  动作”面板中,选择“ 添加规则 ”并选择“ 空白规则 ”;
  3. 为规则添加名称;
  4. 匹配网址 设置  为:
    1. 请求的URL:  匹配模式
    2. 使用:  正则表达式
    3. 模式:  (。*)
    4. 忽略大小写:  检查
  5. 操作 设置  为:
    1. 操作类型:  重写
    2. 重写网址:  http:// <JIRA_url:Port> / {R:1 }
    3. 附加查询字符串:  选中
  6. 标记  停止处理后续规则 ;
  7. 点击  应用  以应用更改。

5.调整请求过滤

  1. 双击站点名称以在站点配置部分中移动。
  2. 点击  请求过滤
  3. 然后点击  编辑功能设置
  4. 选中  Allow double escaping 并点击OK:

Confluence 6.0特别说明:

如果您使用Confluence 6.0或更高版本的Synchrony(协作编辑需要),则需要确保满足以下先决条件:

  1. 您必须安装IIS 8.0或更高版本
  2. 您必须具有  安装了IIS的Web套接字支持
  3. 你必须有  应用程序请求路由3.0安装

CONFSERVER-46504 – 粘贴大量文本将断开Synchrony RESOLVED

您还需要在web.config文件中使用以下重写规则:

SYNCHRONY的WEB.CONFIG示例
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="Synchrony HTTP" stopProcessing="true">
                    <match url="synchrony/(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="http://localhost:8091/synchrony/{R:1}" />
                </rule>
                <rule name="Synchrony Web Sockets Reverse Proxy" stopProcessing="true">
                    <match url="ws://(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="ws://localhost:8091/{R:1}" />
                </rule>
                <rule name="Confluence Reverse Proxy" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                    <action type="Rewrite" url="http://localhost:8090/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
    <system.web>
        <!-- This keeps IIS from complaining about special characters in the url. Also has some controls for max upload size. Set to the equivalent of the above, but in kilobytes instead of bytes. (ex. 61440 = 60MB) -->
        <httpRuntime executionTimeout="20" maxRequestLength="xxxxx" requestPathInvalidCharacters="" requestValidationMode="2.0" />
        <pages validateRequest="false" />
    </system.web>

在上面的例子中,Confluence在没有上下文路径的情况下被访问,并且不使用Confluence的内部代理。请参阅管理协作编辑以获取其他代理配置选项。

由于IIS 8.0不支持Sec-WebSockets-Extension permessage-deflate头文件,因此 如果您作为Windows服务运行,您还需要将以下内容添加到您的<install-path>/bin/setenv.bat 或  setenv.sh如果通过脚本启动Confluence或通过命令行或注册表启动。请参阅  配置系统属性

CATALINA_OPTS=-Dorg.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true %CATALINA_OPTS%

C部分最终配置

重启每个应用程序

现在,重新启动每个应用程序并确保您可以使用新的URL访问它们。请参阅上面的停止和启动说明。

设置应用程序的基本URL

对于每个Atlassian应用程序,请将基本URL设置为您在代理中配置的地址,即Internet Information Services(IIS)将提供的URL(例如  http://www.example.com/<atlassianapp>)。

D部分在同一个IIS实例上配置多个站点

可选:在某些情况下,多个站点将托管在同一个IIS安装中。如果你想要有一个子域名结构(  例如jira.example.com,  confluence.example.com),你可以创建不同的网站,如下所示:

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Our Services

Worpress

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Web Design

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Ecommerce

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Brand Now

SEO

Lorem ipsum dolor amet consectetur adipiscing elit. Nunc mi dui placerat eu faucibus vel, efficitur quis magna. Pellentesque habitant morbi tristique senectus et netus et malesuada.

Read More

Our Team

zahera

Zahera

(HR)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Alex

(CEO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Alex

Sara

(CCO)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Mark

Mark

(Manager)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel tempor sem. Vestibulum suscipit faucibus sem ut porta. Integer ut justo euismod, auctor turpis et

Testimonials

  • 一个记录信息化技巧和经验的网站
    Testimonials测试

Our Partners