maven jetty 配置 https

pom.xml

<plugin>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>jetty-maven-plugin</artifactId>
					<version>9.3.4.RC1</version>
					<configuration>
						<jettyXml>${basedir}/jetty-cfg/jetty.xml</jettyXml>
					</configuration>

					<!-- Uncomment to enable auto java class reload on java changes
					<configuration>
					<scanIntervalSeconds>1</scanIntervalSeconds>
					</configuration>
					-->
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>keytool-maven-plugin</artifactId>
					<version>1.5</version>
					<executions>
						<execution>
							<phase>generate-resources</phase>
							<id>clean</id>
							<goals>
								<goal>clean</goal>
							</goals>
						</execution>
						<execution>
							<phase>generate-resources</phase>
							<id>genkey</id>
							<goals>
								<goal>generateKeyPair</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<keystore>${project.build.directory}/jetty-ssl.keystore</keystore>
						<dname>cn=127.0.0.1</dname><!-- put your CN here -->
						<keypass>dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g</keypass>
						<storepass>dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g</storepass>
						<alias>jetty</alias>
						<keyalg>RSA</keyalg>
					</configuration>
				</plugin>

jetty.xml

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

	<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
		<Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set>
		<Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set>
		<Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set>
		<Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set>
		<Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set>
		<Set name="headerCacheSize">512</Set>
	</New>

	<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
		<Set name="KeyStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.keystore" default="target/jetty-ssl.keystore"/></Set>
		<Set name="KeyStorePassword"><Property name="jetty.keystore.password" default="dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g"/></Set>
		<Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" default="dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g"/></Set>
		<Set name="TrustStorePath"><Property name="jetty.home" default="." />/<Property name="jetty.truststore" default="target/jetty-ssl.keystore"/></Set>
		<Set name="TrustStorePassword"><Property name="jetty.truststore.password" default="dypBdX1NB3gXA0DXCy9nfyJ4jqUDlaydgbo9OU12g"/></Set>
		<Set name="EndpointIdentificationAlgorithm"></Set>
		<Set name="ExcludeCipherSuites">
			<Array type="String">
				<Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
				<Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
			</Array>
		</Set>
	</New>


	<New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
		<Arg><Ref refid="httpConfig"/></Arg>
		<Call name="addCustomizer">
			<Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>
		</Call>
	</New>


	<Call name="addConnector">
	<Arg>
	  <New class="org.eclipse.jetty.server.ServerConnector">
		<Arg name="server"><Ref refid="Server" /></Arg>
		<Arg name="acceptors" type="int"><Property name="http.acceptors" default="-1"/></Arg>
		<Arg name="selectors" type="int"><Property name="http.selectors" default="-1"/></Arg>
		<Arg name="factories">
		  <Array type="org.eclipse.jetty.server.ConnectionFactory">
			<Item>
			  <New class="org.eclipse.jetty.server.HttpConnectionFactory">
				<Arg name="config"><Ref refid="httpConfig" /></Arg>
			  </New>
			</Item>
		  </Array>
		</Arg>
		<Set name="host"><Property name="jetty.host" /></Set>
		<Set name="port"><Property name="jetty.port" default="8080" /></Set>
		<Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
		<Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
		<Set name="acceptorPriorityDelta"><Property name="http.acceptorPriorityDelta" default="0"/></Set>
		<Set name="selectorPriorityDelta"><Property name="http.selectorPriorityDelta" default="0"/></Set>
		<Set name="acceptQueueSize"><Property name="http.acceptQueueSize" default="0"/></Set>
	  </New>
	</Arg>
  </Call>

  <Call id="httpsConnector" name="addConnector">
	<Arg>
	  <New class="org.eclipse.jetty.server.ServerConnector">
		<Arg name="server"><Ref refid="Server" /></Arg>
		<Arg name="acceptors" type="int"><Property name="ssl.acceptors" default="-1"/></Arg>
		<Arg name="selectors" type="int"><Property name="ssl.selectors" default="-1"/></Arg>
		<Arg name="factories">
		  <Array type="org.eclipse.jetty.server.ConnectionFactory">
			<Item>
			  <New class="org.eclipse.jetty.server.SslConnectionFactory">
				<Arg name="next">http/1.1</Arg>
				<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
			  </New>
			</Item>
			<Item>
			  <New class="org.eclipse.jetty.server.HttpConnectionFactory">
				<Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
			  </New>
			</Item>
		  </Array>
		</Arg>
		<Set name="host"><Property name="jetty.host" /></Set>
		<Set name="port"><Property name="https.port" default="8443" /></Set>
		<Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
		<Set name="soLingerTime"><Property name="https.soLingerTime" default="-1"/></Set>
		<Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set>
		<Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set>
		<Set name="acceptQueueSize"><Property name="https.acceptQueueSize" default="0"/></Set>
	  </New>
	</Arg>
  </Call>

</Configure>

猜你喜欢

转载自friping.iteye.com/blog/2249309