反向TeamCity的代理apache

时间:2016-06-17 16:23:23

标签: apache teamcity

我需要将cname重定向到端口。

我在我的服务器上运行Teamcity(在端口8111),我想将teamcity.mydomain.com重定向到mydomain.com:8111。所以我只需输入teamcity.mydomain.com即可进入teamcity服务器。

我已经读过apache的反向代理会为我做,但到目前为止我无法正确设置。

ps:当我执行mydomain.com:8111时,它可以正常工作。

2 个答案:

答案 0 :(得分:1)

我认为这样的事情应该有效:

ProxyPass / http://example.org:8111/
ProxyPassReverse / http://example.org:8111/
ProxyPreserveHost On

确保mod_proxy已启用。

答案 1 :(得分:0)

如果您在Windows上运行并安装了IIS,则可以通过安装“应用程序请求路由”模块和“重写”模块来执行此操作。完成后,这是web.config的重写规则。这会将http://example.com的所有请求重写为http://example.com:8080

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="CIReverseProxyInboundRule" stopProcessing="true">
                <match url="(.*)" />
                <action type="Rewrite" url="http://example.com:8080/{R:1}" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
            </rule>
        </rules>
        <outboundRules>
            <rule name="CIReverseProxyOutboundRule" preCondition="ResponseIsHtml1">
                <match filterByTags="A, Form, Img" pattern="^http(s)?://example.com:8080/(.*)" />
                <action type="Rewrite" value="http{R:1}://example.com/{R:2}" />
            </rule>
            <preConditions>
                <preCondition name="ResponseIsHtml1">
                    <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
                </preCondition>
            </preConditions>
        </outboundRules>
    </rewrite>
</system.webServer>
</configuration>