我还没有找到答案,但也许其他人的Google foo比我的好。
我有一个启用osgi的项目,使用karaf作为jetty的包装器。我们想完全禁用http管道,但到目前为止,我在网上找到的是如何启用我们已经运行的SSL身份验证。我们通过添加连接器在jetty.xml文件中启用了它。
我尝试删除/注释掉其他连接器:
<!-- <Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="jetty.port" default="8181"/></Set>
<Set name="maxIdleTime">300000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">20000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call> -->
但这对于禁止对我们的服务进行http调用没有任何影响。我们也不想简单地将客户端从http重定向到https。
任何帮助都将不胜感激。
由于
答案 0 :(得分:0)
要完全禁用HTTP,特别是如果我不关心http到https重定向,我根本不会乱用jetty.xml。我宁愿关闭http端口80/8080或我配置Jetty使用的任何东西。如果您使用的是Linux,则可以通过设置防火墙规则来实现。防火墙是第一道防线,你的http请求甚至不能进入Jetty进程。当然,我假设您可以控制服务器的防火墙。