今天青岛镜像的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>
分享到:
相关推荐
如果你选择自签名证书,可以在Apache的`conf\extra`目录下找到`httpd-ssl.conf`模板文件,这个文件专门用于SSL配置。 编辑`httpd.conf`主配置文件,通常位于`conf`目录下,找到以下行: ```apacheconf # Load ...
Apache服务器SSL配置是确保Web服务安全传输的重要环节。SSL(Secure Sockets Layer)或其更新版本TLS(Transport Layer Security)提供了在互联网上进行加密通信的能力,保护数据免受中间人攻击,验证服务器身份,并...
设置`SSLCertificateFile`为服务器证书路径,例如`conf/ssl.crt/public.crt`,`SSLCertificateKeyFile`为服务器私钥路径,例如`conf/ssl.key/private.key`,并取消`SSLCertificateChainFile`的注释,配置合成的中级...
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 使其支持 SSL/TLS 加密连接。 一、基础概念 在开始配置之前,...
### 整合Apache与Tomcat并配置Apache支持HTTPS的SSL证书 #### 一、概述 在Web应用领域,Apache和Tomcat都是非常重要的组件。Apache主要作为HTTP服务器,用于处理静态资源请求;而Tomcat则是专门为Java Web应用设计...
**一、Apache+SSL配置步骤** 1. **生成RSA密钥(Private Key)** RSA是一种公钥加密算法,用于生成一对密钥:私钥和公钥。私钥是保密的,而公钥可以公开。Apache需要私钥来解密接收到的加密信息。可以通过`openssl...
在 Apache 上配置 SSL 证书涉及多个步骤,下面将详细讲解这些步骤。 首先,你需要确保 Apache 服务器已经安装了 OpenSSL 插件,因为 SSL 功能依赖于这个模块。在 Apache 的 `httpd.conf` 配置文件中,找到 `...
并配置 SSL 相关参数,如 `SSLCertificateFile`,`SSLCertificateKeyFile` 和 `SSLCertificateChainFile`。 - 设置默认文档,例如 `DirectoryIndex index.html index.shtml`,确保服务器知道哪些文件作为首页显示。...
在开始配置之前,需要确保Apache服务器支持SSL功能。如果是在CentOS或RHEL系统上,可以通过以下命令安装SSL模块: ```bash sudo yum install mod_ssl ``` 此步骤将安装mod_ssl模块,它是Apache服务器提供HTTPS服务...
Nginx以其高性能和低内存使用率著称,SSL配置相对简单: - **配置文件**:编辑`nginx.conf`或相关站点配置文件,添加SSL部分: ``` server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /...
2. **配置Apache**:编辑Apache的配置文件,确保启用了SSL模块,并正确配置了证书路径。例如,在`/etc/apache2/sites-available/default-ssl.conf`文件中添加以下内容: ``` *:443> ServerAdmin webmaster@...
### Apache服务器SSL证书安装配置指南 #### 一、引言 在互联网日益发达的今天,网站的安全性变得尤为重要。为了确保用户数据的安全传输,越来越多的网站选择使用SSL证书来实现HTTPS加密连接。本文将详细介绍如何在...
在Apache配置文件中,添加以下SSL配置: ``` Listen 443 ssl *:443> ServerName yourdomain.com SSLEngine on SSLCertificateFile /path/to/your/certificate.pem SSLCertificateKeyFile /path/to/your/...
1. `conf/httpd.conf` - 这是Apache的主要配置文件,需要取消对SSL模块的注释,即将 `#LoadModule ssl_module modules/mod_ssl.so` 和 `#Include conf/extra/httpd-ssl.conf` 行的开头的`#`去掉,使得Apache加载SSL...
5. **验证SSL配置**:使用在线工具检查SSL配置是否正确,如Qualys的SSL Labs。 除了这些基本配置,你还需要考虑其他安全设置,比如禁用弱加密套件,使用更安全的TLS协议版本,以及配置HSTS(HTTP严格传输安全)头等...
- 接下来,你需要编辑Apache的SSL配置文件,通常是`/etc/httpd/conf.d/ssl.conf`。在这个文件中,你需要定义一个SSL虚拟主机,指定你的域名、证书文件路径和私钥文件路径。例如: ``` *:443> DocumentRoot "/var...
SSLCertificateChainFile /etc/apache2/key/ca.crt ``` 4. **配置 Apache 虚拟主机** - 虚拟主机配置文件位于 `/etc/apache2/sites-available/`。 - 示例配置如下: ```apache *:80> ServerName console-dev...