`

Jetty9+Maven+HTTPS Server(SSL/TLS)详细配置

    博客分类:
  • JAVA
 
阅读更多

使用最新的jetty9,通过jetty-maven-plugin配置https 服务器。

Configuring the Jetty Maven Plugin

http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html

Jetty 9.1.2
Oracle Java SE 7u51
Eclipse Kepler (4.3.1) SR1 (Eclipse IDE for Java EE Developers)
jetty-maven-plugin
Windows7

Keystore

Server 密匙设定,自己百度,很多例子

创建maven 项目

这个应该也不难,重点在下面

使用Jetty9的sample配置文件

在  http://download.eclipse.org/jetty/ 上下载最新的Jetty9程序包
解压展开, 把etc目录下的jetty.xml, jetty-ssl.xml, jetty-https.xml 复制到 Eclipse 的项目文件夹中

cd /path/to/jetty9/etc

cp jetty.xml workspace/project/src/main/resources/config/

cp jetty-ssl.xml workspace/project/src/main/resources/config/

cp jetty-https.xml workspace/project/src/main/resources/config/

jetty.xml

不需要特殊的改变

jetty-ssl.xml

把生成的keystore复制的项目的文件夹中,改变如下的配置

...
<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
  <Set name="KeyStorePath"><Property name="jetty.base" default="." />/<Property name="jetty.keystore" default="src/main/resources/keystore"/></Set>
  <Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="test"/></Set>
  <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="testtest"/></Set>
  <Set name="EndpointIdentificationAlgorithm"></Set>
  <Set name="ExcludeCipherSuites">
...
 

如果没有生成keystory文件,也可以使用jetty9 文件包里etc目录下的文件,那样密码设定也不需要修改,仅供测试用。

jetty-https.xml

设定https的端口号,超时时间等。

 

...
<Set name="host"><Property name="jetty.host" /></Set>
<Set name="port"><Property name="https.port" default="9443" /></Set>
<Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
...
 

 

 

pom.xml

pom.xml 文件中 jetty-maven-plugin 设定中,把上面的三个文件加载进来

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.2.6.v20141205</version>
    <configuration>
        <jettyConfig>${project.basedir}/src/main/resources/config/jetty.xml,${project.basedir}/src/main/resources/config/jetty-ssl.xml,${project.basedir}/src/main/resources/config/jetty-https.xml</jettyConfig>
        <stopKey>STOP</stopKey>
        <stopPort>9999</stopPort>
        <stopWait>5</stopWait>
        <scanIntervalSeconds>5</scanIntervalSeconds>
        <scanTargets>
           <scanTarget>${project.basedir}/src/main</scanTarget>
           <scanTarget>${project.basedir}/src/test</scanTarget>
       </scanTargets>
       <webAppConfig>
          <contextPath>/${project.artifactId}</contextPath>
       </webAppConfig>
    </configuration>
</plugin>
 

启动jetty服务器

Ecipse中 运行goal jetty:run ,jetty启动好访问https://localhost:9943/, 成功开启https服务器

22/04/2015 17:21:06.099:INFO:oejs.ServerConnector:main: Started ServerConnector@6c2fc81d{SSL-http/1.1}{0.0.0.0:9443}
[INFO] Started Jetty Server
 
分享到:
评论

相关推荐

    jetty反相代理配置

    在实际应用中,可能还需要考虑更多因素,如SSL/TLS终止、身份验证、自定义错误页面等。此外,`ProxyServlet`类提供了多个构造函数和初始化参数,可以调整其行为,例如设置超时时间、代理连接池大小等。通过深入阅读...

    jetty.jar,jetty-sslengine.jar,jetty-util.jar

    jetty-sslengine.jar包含了处理SSL/TLS连接的类和方法,使Jetty能够处理基于SSL的请求,支持数字证书,实现服务器与客户端之间的安全通信。这使得开发人员可以轻松地在Jetty上搭建安全的Web服务,满足诸如电子商务...

    jetty内嵌到java代码启动

    - Jetty支持多种安全机制,包括基本认证、摘要认证、SSL/TLS加密等,可以通过`ConstraintSecurityHandler`进行配置。 总之,内嵌Jetty到Java代码中极大地提高了开发效率,允许开发者更紧密地集成Web服务与应用程序...

    jetty-jdk7使用版本

    9. 安全性:Jetty支持基本的身份验证、SSL/TLS加密以及角色权限控制,确保Web应用的安全性。 10. 扩展性:Jetty的设计允许通过插件机制轻松扩展功能,如静态文件服务、JMX监控、Jetty-Maven插件等,满足各种应用...

    httpsdemo.7z

    描述中提到的“jetty-maven-plugin:9.4.20.v20190813配置https链接”,意味着我们将探讨如何利用特定版本的Jetty Maven插件来设置HTTPS服务,这通常涉及到SSL/TLS证书的配置、端口设定以及相关的Maven命令行参数。...

    jetty嵌入Web编程多种实现方式案例

    Jetty提供了安全模块,如JAAS认证、SSL/TLS加密等,确保Web服务的安全性。同时,Jetty可以通过调整线程池参数、内存配置等进行性能优化。 综上所述,Jetty的嵌入式特性使得它成为Java Web开发中的理想选择。无论是...

    jetty-9.0开发包

    Jetty还支持HTTPS和SSL/TLS加密,确保数据传输的安全性。 8. **集成性**:Jetty可以轻松地与Maven、Gradle等构建工具集成,同时也适合嵌入式使用,比如在独立的应用程序中作为HTTP服务器。 9. **API和文档**:...

    jetty-document

    Jetty提供了丰富的安全机制,包括认证、授权、SSL/TLS加密等。例如,可以通过配置文件启用SSL,确保数据传输的安全性。 ##### 3.5 连接器配置 连接器是Jetty的核心组件之一,负责处理客户端的网络请求。常见的连接...

    经典jetty应用于web项目的开发

    此外,Jetty还支持多种SSL/TLS配置,确保了Web应用的安全性。 在标签“牛X的服务器工具jetty”中,我们可以看出Jetty在开发者中的口碑。它不仅因为其高效、灵活和易用性而受到赞誉,而且由于其社区活跃,更新及时,...

    Jetty 学习资料汇总

    4. **安全性**:介绍Jetty的安全机制,包括角色认证、SSL/TLS配置和过滤器链。 四、实战与最佳实践 1. **部署应用**:讲解如何将WAR文件或自定义配置部署到Jetty服务器。 2. **性能调优**:提供性能监控和调优的...

    jetty-6.1.26.zip

    9. **安全性**:Jetty提供了安全模块,支持基本的认证机制,如HTTP Basic和Digest,以及SSL/TLS加密,确保数据传输的安全性。 10. **Maven插件**:对于使用Maven构建项目的开发者来说,Jetty还提供了Maven插件,...

    jetty-6.1.26

    7. **连接器与协议支持**:Jetty不仅支持HTTP,还支持HTTPS,通过SSL/TLS提供安全的通信。此外,它还可以通过自定义连接器扩展来支持其他协议。 8. **配置与管理**:Jetty可以通过XML配置文件进行设置,也可以使用...

    jetty6.1.4 嵌入样例

    Jetty 6.1.4还支持许多高级特性,例如WebSocket、JMX管理、HTTP压缩、SSL/TLS加密以及多线程模型的配置等。在开发过程中,你可以根据需求添加这些功能。 对于源码研究,Jetty的开源性质允许开发者深入理解其工作...

    jetty-distribution-9.4.6.v20170531

    9. **Maven插件**:对于使用Maven构建的项目,Jetty提供了Maven插件,可以在开发过程中快速启动和测试Web应用。 10. **社区支持**:Jetty有一个活跃的社区,提供了丰富的文档、示例和问题解答,便于开发者解决问题...

    应用服务器jetty8.0

    8. **安全性**:Jetty提供了基本的安全特性,如SSL/TLS支持,以及对JAAS(Java Authentication and Authorization Service)的集成,可以实现用户认证和访问控制。 9. **持续集成**:由于其轻量级和易于集成的特性...

    java web开发部署神器--jetty插件

    - SSL/TLS:Jetty可以配置为支持HTTPS,提供安全的数据传输。 - 热部署:当检测到Web应用的更新时,Jetty可以自动重新加载更改,无需重启服务器。 总的来说,Jetty作为一款Java Web开发的利器,凭借其轻量级、快速...

    jetty 8.1.15.v20140411

    6. **安全**:提供了多种安全特性,如SSL/TLS加密、基本认证、角色基础的访问控制等,以保护Web应用的安全。 7. **可扩展性**:Jetty的插件系统允许开发者轻松添加自定义功能或扩展已有功能。 在Jetty-distribution...

    java jetty容器

    8. **安全性**: Jetty支持多种安全机制,如SSL/TLS加密、JAAS认证、以及与Spring Security等框架的集成,为Web应用提供了强大的安全保障。 9. **模块化**: Jetty的模块化设计使其可以根据应用需求选择加载特定的...

    jetty插件包

    9. **安全**:Jetty提供了强大的安全特性,如基本认证、SSL/TLS加密、角色基础的访问控制等。Jetty插件则可以通过配置来启用这些安全功能,保护Web应用免受攻击。 10. **性能优化**:Jetty的设计注重性能,采用了...

    struts2集成struts-ssl-plugin插件实现https访问例子

    在Web服务器(如Tomcat、Jetty等)的配置中,需要为HTTPS设置监听端口和SSL密钥库。例如,在Tomcat的`server.xml`中: ```xml &lt;Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150...

Global site tag (gtag.js) - Google Analytics