`
lukejin
  • 浏览: 366105 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Apache SSL配置之 SSLCertificateChainFile

    博客分类:
  • Java
阅读更多

今天青岛镜像的vip访问SSO-CAS的443端口终于通了,但是发现别的应用连的时候报

 

错误
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
 

根据以往的经验,这个错误很明显是不信任服务器端的数字证书引起的,所以我就疑惑了,因为证书使用的是买的证书,且在现在的正式环境上好好的用着。

 

这个时候我就开始写起测试代码了。

 

import java.io.InputStreamReader;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;

public class SSLTest {
	public static void main(String[] args) throws Exception {
        URL myURL = new URL("https://xxx.xxx.com");
        HttpsURLConnection httpsConn = (HttpsURLConnection) myURL.openConnection();
        InputStreamReader insr = new InputStreamReader(httpsConn.getInputStream());
        int respInt = insr.read();
        while (respInt != -1) {
            System.out.print((char) respInt);
            respInt = insr.read();
        }
		}
}

 发现连正式环境完全ok,但是当我绑定hosts到青岛的环境的时候就是报错。

 

这个时候想到两者的差异,正是环境上时直接tomcat的,所以证书什么的直接放在keystore中,然后在tomcat中配置的,但是青岛这边是在apache上配置的ssl,所以差异就在这里。

对对对,keystore中好像还放置了中继的证书,因为我们购买的证书是三级证书。

 

所以肯定是因为缺少这个中间的证书导致无法认证的。

所以就上网查到了SSLCertificateChainFile这个配置,将中继证书配上去之后,启动,一切OK。

 

<VirtualHost *:443>
    ServerName xxx.xxx.com
    JkMountCopy On
    SSLProxyEngine on
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /home/admin/web-deploy/conf/ssl/server.crt
    SSLCertificateKeyFile /home/admin/web-deploy/conf/ssl/server.key
    SSLCertificateChainFile /home/admin/web-deploy/conf/ssl/intermediate.crt
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>
2
0
分享到:
评论

相关推荐

    windows下apache的SSL配置

    如果你选择自签名证书,可以在Apache的`conf\extra`目录下找到`httpd-ssl.conf`模板文件,这个文件专门用于SSL配置。 编辑`httpd.conf`主配置文件,通常位于`conf`目录下,找到以下行: ```apacheconf # Load ...

    Apache服务器SSL配置

    Apache服务器SSL配置是确保Web服务安全传输的重要环节。SSL(Secure Sockets Layer)或其更新版本TLS(Transport Layer Security)提供了在互联网上进行加密通信的能力,保护数据免受中间人攻击,验证服务器身份,并...

    Apache SSL证书部署指南

    设置`SSLCertificateFile`为服务器证书路径,例如`conf/ssl.crt/public.crt`,`SSLCertificateKeyFile`为服务器私钥路径,例如`conf/ssl.key/private.key`,并取消`SSLCertificateChainFile`的注释,配置合成的中级...

    mod_ssl(apache SSL插件)

    2. **配置**:安装完成后,需要编辑Apache的配置文件(通常为`/etc/apache2/httpd.conf`或`/etc/httpd/conf/httpd.conf`),启用mod_ssl模块。在配置文件中,找到`LoadModule ssl_module modules/mod_ssl.so`这一行...

    apache_2.2.6 openssl-0.9.8e SSL配置

    Apache 2.2.6 OpenSSL 0.9.8e SSL 配置 Apache 2.2.6 OpenSSL 0.9.8e SSL 配置是一个非常重要的知识点,在这里我们将详细介绍如何配置 Apache 2.2.6 使其支持 SSL/TLS 加密连接。 一、基础概念 在开始配置之前,...

    整合Apache+tomcat并使Apache 配置支持HTTPS的SSL证书 10天 不解释 绝对可用

    ### 整合Apache与Tomcat并配置Apache支持HTTPS的SSL证书 #### 一、概述 在Web应用领域,Apache和Tomcat都是非常重要的组件。Apache主要作为HTTP服务器,用于处理静态资源请求;而Tomcat则是专门为Java Web应用设计...

    apache+ssl

    **一、Apache+SSL配置步骤** 1. **生成RSA密钥(Private Key)** RSA是一种公钥加密算法,用于生成一对密钥:私钥和公钥。私钥是保密的,而公钥可以公开。Apache需要私钥来解密接收到的加密信息。可以通过`openssl...

    Apache 安装 SSL 证书1

    在 Apache 上配置 SSL 证书涉及多个步骤,下面将详细讲解这些步骤。 首先,你需要确保 Apache 服务器已经安装了 OpenSSL 插件,因为 SSL 功能依赖于这个模块。在 Apache 的 `httpd.conf` 配置文件中,找到 `...

    apache openssl配置快速的https网站

    并配置 SSL 相关参数,如 `SSLCertificateFile`,`SSLCertificateKeyFile` 和 `SSLCertificateChainFile`。 - 设置默认文档,例如 `DirectoryIndex index.html index.shtml`,确保服务器知道哪些文件作为首页显示。...

    apache配置https.docx

    在开始配置之前,需要确保Apache服务器支持SSL功能。如果是在CentOS或RHEL系统上,可以通过以下命令安装SSL模块: ```bash sudo yum install mod_ssl ``` 此步骤将安装mod_ssl模块,它是Apache服务器提供HTTPS服务...

    SSL证书部署Apache服务器、IIS服务器、Nginx服务器、Tomcat服务器文档

    Nginx以其高性能和低内存使用率著称,SSL配置相对简单: - **配置文件**:编辑`nginx.conf`或相关站点配置文件,添加SSL部分: ``` server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /...

    服务器 SSL 证书安装配置指南

    2. **配置Apache**:编辑Apache的配置文件,确保启用了SSL模块,并正确配置了证书路径。例如,在`/etc/apache2/sites-available/default-ssl.conf`文件中添加以下内容: ``` *:443&gt; ServerAdmin webmaster@...

    apche服务器ssl证书安装配置指南

    ### Apache服务器SSL证书安装配置指南 #### 一、引言 在互联网日益发达的今天,网站的安全性变得尤为重要。为了确保用户数据的安全传输,越来越多的网站选择使用SSL证书来实现HTTPS加密连接。本文将详细介绍如何在...

    Apache证书手册1

    在Apache配置文件中,添加以下SSL配置: ``` Listen 443 ssl *:443&gt; ServerName yourdomain.com SSLEngine on SSLCertificateFile /path/to/your/certificate.pem SSLCertificateKeyFile /path/to/your/...

    Apache 2.x 证书部署.docx

    1. `conf/httpd.conf` - 这是Apache的主要配置文件,需要取消对SSL模块的注释,即将 `#LoadModule ssl_module modules/mod_ssl.so` 和 `#Include conf/extra/httpd-ssl.conf` 行的开头的`#`去掉,使得Apache加载SSL...

    web服务器配置web服务器配置.doc

    5. **验证SSL配置**:使用在线工具检查SSL配置是否正确,如Qualys的SSL Labs。 除了这些基本配置,你还需要考虑其他安全设置,比如禁用弱加密套件,使用更安全的TLS协议版本,以及配置HSTS(HTTP严格传输安全)头等...

    Linux环境下Apache开启https服务的方法详解

    - 接下来,你需要编辑Apache的SSL配置文件,通常是`/etc/httpd/conf.d/ssl.conf`。在这个文件中,你需要定义一个SSL虚拟主机,指定你的域名、证书文件路径和私钥文件路径。例如: ``` *:443&gt; DocumentRoot "/var...

    ubuntu下lamp的部署

    SSLCertificateChainFile /etc/apache2/key/ca.crt ``` 4. **配置 Apache 虚拟主机** - 虚拟主机配置文件位于 `/etc/apache2/sites-available/`。 - 示例配置如下: ```apache *:80&gt; ServerName console-dev...

Global site tag (gtag.js) - Google Analytics