JBOSS EAP 6.4 - URL重写/重定向

时间:2018-06-19 04:06:55

标签: http url-rewriting jboss

我一直没有在这里发帖,因为有时它似乎很简单,但我现在已经接近了。在我的一个JBOSS EAP 6.4实例中,我们在HTTP上有以下连接:

server:9990/console
server:9080/application1
server:9085/application2

我的证书等都已排序,因此我希望上面的内容重定向到以下内容(无论用户是输入了http还是https):

https://server:9443/console
https://server:9180/application1
https://server:9185/application2

一旦我开始工作,就不会使用HTTP端口......希望如此。无论如何,我一直在谷歌搜索几个小时,我无法弄清楚这一点。到目前为止,我在standalone-full-ha.xml中的虚拟服务器条目下已经有了这个:

<rewrite pattern="^/(.*)$" substitution="https://server:9443/console" flags="RL">
  <condition test="%{SERVER_PORT}=9990" pattern="on" />
</rewrite>      
<rewrite pattern="^/(.*)$" substitution="https://server:9180/" flags="RL">
  <condition test="%{SERVER_PORT}=9080" pattern="on" />
</rewrite>
<rewrite pattern="^/(.*)$" substitution="https://server:9185/" flags="RL">
  <condition test="%{SERVER_PORT}=9085" pattern="on" />
</rewrite>

我可能在这里遗漏了一些明显的东西,但我似乎无法看到它是什么。在访问URL时,没有任何事情发生,因为它们没有重定向。

3 个答案:

答案 0 :(得分:0)

我一直在研究这个问题,发现我无法控制管理URL /使用Web子系统来控制它们的行为。

我先前遇到的关键问题是我自己做的,因为我花了大部分时间试图弄清楚为什么9990至9443端口重写无法正常工作,而忽略了另外两个很好的事实。

Web /应用程序重写了我在原始问题中提到的工作:)

答案 1 :(得分:0)

尝试根据Redirect from HTTP to HTTPS in jboss eap 6.4的解决方案改编这些内容

<rewrite pattern="^/(console.*)$" substitution="https://server:9443/$1" flags="RL">
  <condition test="%{HTTPS}" pattern="off" />
</rewrite>
<rewrite pattern="^/(application1.*)$" substitution="https://server:9180/$1" flags="RL">
  <condition test="%{HTTPS}" pattern="off" />
</rewrite>
<rewrite pattern="^/(application2.*)$" substitution="https://server:9185/$1" flags="RL">
  <condition test="%{HTTPS}" pattern="off" />
</rewrite>

答案 2 :(得分:-2)

请修改如下。

/subsystem=web/virtual-server=default-host/rewrite=jboss:add(pattern="^/$", substitution="/context B/", flags="L,R=302")

JBoss CLI命令:

    final String delim = "DELIM";
    String token1 = "AAAAA";
    String token2 = "BBBBB|ZUMMY";
    final String input = token1 + delim + token2;
    final StringTokenizer tokenizer = new StringTokenizer(input, delim);
    final String text1 = tokenizer.nextToken();
    final String text2 = tokenizer.nextToken();
    System.out.println("token1=" + text1);
    System.out.println("token2=" + text2);
    System.out.println();