我需要将cname重定向到端口。
我在我的服务器上运行Teamcity(在端口8111),我想将teamcity.mydomain.com重定向到mydomain.com:8111。所以我只需输入teamcity.mydomain.com即可进入teamcity服务器。
我已经读过apache的反向代理会为我做,但到目前为止我无法正确设置。
ps:当我执行mydomain.com:8111时,它可以正常工作。
答案 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>