重定向到本地主机:8080?

重定向到本地主机:8080?

我有一个 Jenkins 安装,可以通过 访问,localhost:8080或者通过 网站从外部访问IPaddress:8080

我希望使用类似的方法来访问网站,并让 IIS 知道在通过这种方式访问​​时IPaddress/jenkins如何重定向到内部。localhost:8080

这是我的 web.config 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(jenkins.*)" />
                    <action type="Rewrite" url="http://localhost:8080/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

不幸的是,访问后IPaddress/jenkins我收到 404 错误。

答案1

一些东西:

  1. 我不确定这是否适用于服务器,但对于反向代理功能,URL Rewrite 需要安装 ARR。
  2. 如果已完成,请确保已启用反向代理。
  3. 如果步骤 2 已完成:重写规则当前将重写http://ip/jenkins/mypage.jsphttp://ip:8080/jenkins/mypage.jsp。如果意图是重写http://ip/jenkins/mypage.jsp为,http://ip:8080/mypage.jsp那么我建议匹配 URL 更像以下内容:

    ^jenkins(\/.*)?$

笔记如果适用#3,那么在这种情况下您可能还需要一个出站规则来修复a,img,script元素。

答案2

也许有人需要这个答案。它对我有帮助。

不过,在将注意力转向 IIS 之前,我们需要告诉 Jenkins 我们的前缀(子目录)。为此,请打开C:\Program Files (x86)\Jenkins\jenkins.xml并添加--prefix=/jenkins到条目中。

答案3

您应该看看安装 IIS 重写模块https://www.iis.net/downloads/microsoft/url-rewrite 这是为了接受您想要在处理之前修改的入站 URL。例如,如果您需要重定向到不同的服务器、页面或端口。

如果您无法修改 web.config(或者您不想修改,例如,当它来自第三方供应商时),​​则使用 UI 很有用

答案4

看这里:https://blog.dangl.me/archive/installing-and-configuring-jenkins-on-windows-server-with-iis/ (与您最相关的是本文的以下部分:设置 IIS 反向代理以从外部访问 Jenkins

相关内容