当前位置: 首页 > 面试题库 >

在Undertow中启用HTTPS

王云
2023-03-14
问题内容

我们有一个有效的Apache mod_ssl配置。我想为Undertow启用HTTPS支持,以便它侦听http和https,从而消除了对Apache的需求。

我研究了Undertow的javadocs。Undertow.Builder类具有两个具有以下签名的addHttpsListener方法:

   public Builder addHttpsListener(int port, String host, 
       KeyManager[] keyManagers, TrustManager[] trustManagers);
   public Builder addHttpsListener(int port, String host,
       SSLContext sslContext) {

所以看来我可以在使用Builder API引导Undertow时使用它们,例如

Undertow server = Undertow.builder()
                    .addHttpsListener(8443, "localhost", sslContext)
                    .build();

我不确定如何创建SSLContext变量,或者如何配置KeyManager和TrustManager。拥有mod_ssl使用的证书文件后,如何继续对Undertow启用HTTPS?

更新:

根据hwellmann的回答,我已经重用了SslContextFactory.createSslContext()方法。在此之前,我必须将公钥/私钥对转换为PKCS12格式,并将其导入Java密钥库中。

提供下面的SSL转换转换/导入命令(从此处和此处获取),希望这些命令对任何人都有用:

# Convert to PKCS12    
$ openssl pkcs12 -export -out output_cert.pfx -inkey input_cert.key -in input_cert.crt -certfile intermediate.crt

# Import into Java keystore
$ keytool -v -importkeystore -srckeystore output_cert.pfx -srcstoretype PKCS12 -destkeystore output_store.jks -deststoretype JKS

问题答案:

这并不是Undertow真正特定的,这只是从带有证书的密钥库中构建SSL上下文的问题。

请参阅有关SslContextFactory.javaUndertow的示例



 类似资料:
  • Undertow基本配置 由于 Jboot 是依赖 Jfinal-Undertow 进行开发的,因此 Jfinal-Undertow 的所有配置 Jboot 都会支持,Jfinal-Undertow 的配置文档在:https://www.jfinal.com/doc/1-4 其他扩展 扩展1:配置位置 在 Jboot 应用中,除了可以在 resource 目录下的 undertow.txt 文件进

  • Undertow 是一个采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。Undertow 是红帽公司的开源产品,是 Wildfly 默认的 Web 服务器。 Undertow 提供一个基础的架构用来构建 Web 服务器,这是一个完全为嵌入式设计的项目,提供易用的构建器 API,完全兼容 Java EE Servlet 4 和低级非堵塞的处理器。 Und

  • 我正在使用Undertow进行设置和应用程序,我已经为静态文件设置了ResourceHandler,以及apache camel用来公开rest服务的Servlet。 我已经在应用程序容器中使用spring和servlet3.0实现了这一点。 在扩展组织的类中。springframework。网状物servlet。支持AbstractAnnotationConfigDispatcherServle

  • jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目。独创 HotSwapClassLoader + HotSwapWatcher 以 321 行代码极简实现热加载开发与部署,前无古人,后必有模仿者 一、 极速上手 1: 添加 maven 依赖 <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal

  • 对于 Undertow Web 应用程序,undertow-pac4j 项目是一个简单而强大的安全库,它支持身份验证和授权,还提供应用程序注销以及 CSRF 保护等高级功能。 它基于 Java 8,Undertow 1.4 和 pac4j 安全引擎 v2。

  • 如何配置 基本上,我正在寻找的是Apache的mod_rewrite配置: 谢谢