如何将Apache Archiva设置为使用HTTPS而不是HTTP
在默认配置中,ApacheArciva2.2使用HTTP,不告诉如何将其更改为HTTPS 我认为这可以通过修改如何将Apache Archiva设置为使用HTTPS而不是HTTP,https,archiva,Https,Archiva,在默认配置中,ApacheArciva2.2使用HTTP,不告诉如何将其更改为HTTPS 我认为这可以通过修改conf/jetty.xml文件来完成,但当我尝试这样做时,如中所述,它只会给我以下错误: java.lang.NoSuchMethodException: class org.eclipse.jetty.util.ssl.SslContextFactory.setTrustStorePath(class java.lang.String) 可以这样做吗?我使用Apache作为HTTP
conf/jetty.xml
文件来完成,但当我尝试这样做时,如中所述,它只会给我以下错误:
java.lang.NoSuchMethodException: class org.eclipse.jetty.util.ssl.SslContextFactory.setTrustStorePath(class java.lang.String)
可以这样做吗?我使用Apache作为HTTPS代理,配置新的虚拟主机:
Listen 8081
<VirtualHost *:8081>
ServerName archiva.example.com
SSLEngine On
SSLCertificateFile /path/to/apache_certs/cert.pem
SSLCertificateKeyFile /path/to/apache_certs/cert.key
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
<Proxy http://localhost:8080/*>
Order allow,deny
Allow from all
</Proxy>
ProxyPreserveHost on
</VirtualHost>
听8081
ServerName archiva.example.com
斯伦金安
SSLCertificateFile/path/to/apache_certs/cert.pem
SSLCertificateKeyFile/path/to/apache_certs/cert.key
代理请求关闭
ProxyPass/http://localhost:8080/
ProxyPassReverse/http://localhost:8080/
命令允许,拒绝
通融
代理主机
我将以下内容添加到jetty.xml
中,它成功了:
<Call class="java.lang.System" name="setProperty"><Arg>jdk.tls.ephemeralDHKeySize</Arg><Arg>2048</Arg></Call>
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Arg>
<New class="org.eclipse.jetty.http.ssl.SslContextFactory">
<Set name="keyStore"><SystemProperty name="jetty.home" default="." />/conf/tomcat.keystore</Set>
<Set name="keyStorePassword">changeit</Set>
<Set name="ExcludeProtocols">
<Array type="java.lang.String">
<Item>SSLv3</Item>
</Array>
</Set>
</New>
</Arg>
<Set name="port">8843</Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="lowResourcesConnections">5000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
<Set name="IncludeCipherSuites">
<Array type="java.lang.String">
<Item>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</Item>
<Item>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384</Item>
<Item>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Item>
<Item>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</Item>
<Item>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</Item>
<Item>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</Item>
<Item>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</Item>
</Array>
</Set>
</New>
</Arg>
</Call>
jdk.tls.ephemeralDHKeySize2048
/conf/tomcat.keystore
换
SSLv3
8843
30000
2.
假的
5000
5000
TLS_ECDHE_RSA_与_AES_256_GCM_SHA384
TLS_ECDHE_RSA_与_AES_128_GCM_SHA256
TLS_DHE_RSA_与_AES_256_GCM_SHA384
TLS_DHE_RSA_,带AES_128_GCM_SHA256
TLS_ECDHE_RSA_与_AES_256_CBC_SHA384
TLS_ECDHE_RSA_与_AES_128_CBC_SHA256
TLS_DHE_RSA_与AES_256_CBC_SHA256
TLS_DHE_RSA_与AES_128_CBC_SHA256
TLS_ECDHE_RSA_与_AES_256_CBC_SHA
TLS_ECDHE_RSA_与_AES_128_CBC_SHA
TLS_DHE_RSA_与_AES_256_CBC_SHA
TLS_DHE_RSA_与_AES_128_CBC_SHA
I“我对Jetty不清楚可能Jetty文档不完整,或者我们使用的版本太旧。Perso我使用ApacheHttpD服务器代理对Archiva实例的请求,因此很容易管理https HTH。我还考虑使用Apache代理作为解决方案。当我弄明白的时候,我会尝试用正确的配置来写答案。