我正在爲我的Artifactory-repo使用來自startssl.com的免費SSL-cert。在我的瀏覽器中,這一切都很綠色,但當然不是來自Java。所以我安裝的cacerts用這個方便的腳本:根據客戶端提供不同的ssl-certs
http://www.ailis.de/~k/uploads/scripts/import-startssl
但我仍然得到:
Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException
錯誤。 JAVA_HOME設置正確。任何建議高度讚賞!
更多信息:
其常春藤從SBT 0.12.2(使用pualp的劇本https://github.com/paulp/sbt-extras),其在證書barfing:
[info] Resolving net.liftmodules#omniauth_2.10;2.5-SNAPSHOT-0.7-SNAPSHOT ...
[error] Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repo.woodenstake.se/all/net/liftmodules/omniauth_2.10/2.5-SNAPSHOT-0.7-SNAPSHOT/maven-metadata.xml
- 更新:
這個問題似乎完全不同於Java本身。從瀏覽器訪問該頁面會生成綠色證書,我可以看到從StartSSL簽名的信息。但即使是wget或curl扼流圈,並告訴我這是一個自簽名的證書。看起來不同的證書是根據客戶提供的。
回購是在https://repo.woodenstake.se/ - 如果您將其粘貼到您的瀏覽器,我猜你會得到StartSSL-cert。但如果你做了wget https://repo.woodenstake.se/你會得到一些舊的自簽名證書,我不知道它來自哪裏。
- Update更新:
所以問題是,我的服務形式* .woodenstake.se的幾個網站。我得到了,這將是可能有不同的證書般的感受:
server {
listen 443;
server_name site1.woodenstake.se;
client_max_body_size 512m;
ssl on;
ssl_certificate cert1.crt;
ssl_certificate_key cert1.key;
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://server1;
break;
}
}
}
server {
listen 443;
server_name site2.woodenstake.se;
client_max_body_size 512m;
ssl on;
ssl_certificate cert2.crt;
ssl_certificate_key cert2.key;
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://server2;
break;
}
}
}
和它的作品在我所有的瀏覽器就好了。
但是,它不適用於wget或JDK6。
您是否成功安裝了cacerts? – enigma 2013-03-24 13:07:20
是的,我做到了。但是,問題看起來完全不同。根據客戶提供兩種不同的證書。查看我的更新。謝謝。 – 2013-03-25 15:44:55
它是否設置在反向代理之後? – Bruno 2013-03-25 15:56:41