首页 > 解决方案 > Jetty - ipaccess per connector?

问题描述

Let's say I am enabling the ipaccess module on jetty:

jetty-ipaccess.xml

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">

<!-- =============================================================== -->
<!-- The IP Access Handler -->
<!-- =============================================================== -->

<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call name="insertHandler">
<Arg>
<New id="IPAccessHandler" class="org.eclipse.jetty.server.handler.IPAccessHandler">
    <Set name="white">
     <Array type="String">
     <Item>127.0.0.1</Item>
     <Item>192.168.1.168</Item>    
     </Array>
    </Set>
    <Set name="whiteListByPath">false</Set>
</New>
</Arg>
</Call>
</Configure>

Then I enable it with jetty/home/start.jar --add-to-start=ipaccess

But I want this filter to only apply to the http connector. I do not want it to apply to my https connector.

How do I configure it so that it only affects the http module, not the https module?

NOTE: In Jetty 10 this ipaccess module is replaced with another module:

https://github.com/eclipse/jetty.project/commit/3a4da94e1a69ee4c9cd3c936f50d58ee3440188e

标签: ssljetty

解决方案


答案是这还不可能,因为分配 IPAccessHandler 或 InetAccessHandler 只有在您使用 jetty 的编程版本时才有可能。不是当你用start.jar.

所以我创建了问题:https ://github.com/eclipse/jetty.project/issues/3562

我创建了一个 PR 来解决这个问题:https ://github.com/eclipse/jetty.project/pull/3572

gregw @github在这里接受并扩展它https://github.com/eclipse/jetty.project/pull/3576

一旦这是在 9.4.x 版本中,我将一切就绪。


推荐阅读