标签: mod-ssl

Apache:SSLCertificateKeyFile:文件不存在或为空

我正在为Apache 2. 我的系统是Ubuntu Server 10.04 LTS。我的 vhost 配置中有以下与 SSL 相关的设置:

SSLEngine On
SSLCertificateKeyFile /etc/ssl/private/server.insecure.key
SSLCertificateFile    /etc/ssl/certs/portal.selfsigned.crt
Run Code Online (Sandbox Code Playgroud)

(旁注:我使用.insecure密钥文件是因为该文件不受密码保护,我想清楚地看到它是一个不安全的密钥文件)

因此,当我重新启动 apache 时,我收到以下消息:

Syntax error on line 39 of /etc/apache2/sites-enabled/500-portal-https:
SSLCertificateKeyFile: file '/etc/ssl/private/server.insecure.key' does not exist or is empty
Error in syntax. Not restarting.
Run Code Online (Sandbox Code Playgroud)

但是文件在那里,并且不是空的(实际上它包含一个私钥):

sudo ls -l /etc/ssl/private/server.insecure.key
-rw-r----- 1 root www-data 887 2012-08-07 15:14 /etc/ssl/private/server.insecure.key
sudo ls -ld /etc/ssl/private/
drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/
Run Code Online (Sandbox Code Playgroud)

我尝试使用两个组 www-data 和 ssl-cert 更改所有权。我不确定 Ubuntu 中哪个是正确的:默认情况下 Ubuntu …

ubuntu ssl mod-ssl ssl-certificate apache-2.2

49
推荐指数
3
解决办法
8万
查看次数

如何使用 OpenSSL 和 Apache 启用 TLS 1.1 和 1.2

鉴于越来越多的安全问题,例如新宣布的针对 SSL/TLS 的浏览器漏洞利用 (BEAST),我很好奇我们如何通过 OpenSSL 和 Apache 启用 TLS 1.1 和 1.2 以确保我们不会受到攻击到此类威胁载体。

security mod-ssl openssl apache-2.2

36
推荐指数
4
解决办法
27万
查看次数

在 Apache Loadbalancer 和后端之间使用 Https

我在 2 个 apache 服务器前使用配置为负载均衡器的 apache (2.4) 服务器。当我在负载均衡器和后端之间使用 http 连接时它工作正常,但是使用 https 不起作用。负载均衡器的配置:

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
<Proxy balancer://testcluster>
  BalancerMember https://[Backend1]:443/test
  BalancerMember https://[Backend2]:443/test
</Proxy>
ProxyPass /test balancer://testcluster
Run Code Online (Sandbox Code Playgroud)

后端目前只有自签名证书,这就是禁用证书验证的原因。

负载均衡器上的错误日志包含以下内容:

[proxy:error] [pid 31202:tid 140325875570432] (502)Unknown error 502: [client ...] AH01084: pass request body failed to [Backend1]:443 ([Backend1])
[proxy:error] [pid 31202:tid 140325875570432] [client ...] AH00898: Error during SSL Handshake with remote server returned by /test/test.jsp
[proxy_http:error] [pid 31202:tid 140325875570432] [client ...] AH01097: pass request body failed to [Backend1]:443 ([Backend1]) from [...] …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy mod-ssl apache-2.2 apache-2.4

35
推荐指数
1
解决办法
6万
查看次数

SSL 证书可以在文件中的一行中吗(没有换行符)?

默认情况下,SSL 证书在 67 个字符后有换行符。我正在尝试使用 Chef 创建 SSL 证书文件。本质上,我想从没有任何换行符的字符串变量中创建整个证书文件。我已经尝试了几次都无济于事(Apache 抱怨无法找到证书)。

我不明白为什么需要在 SSL 证书中换行。如果可以在文件中没有任何换行符的情况下获得证书,有什么想法吗?

linux ssl mod-ssl ssl-certificate apache-2.2

34
推荐指数
3
解决办法
6万
查看次数

带有 SSL 的 Apache2 我必须复制 VirtualHost 块吗?

在 ubuntu 上的 Apache2 中,我的站点在 80 上侦听,现在我想添加 SSL。有没有办法为端口 443 启用 SSLEngine,这样我就不必复制整个 VirtualHost 块?

当我这样做时:

Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
  SSLEngine On
  ... a bunch more lines...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

它正在打开端口 80 的 SSLEngine。有没有办法只使用一个 VirtualHost 块,并且只打开端口 443 的 SSLEngine?所以我可以做这样的事情吗?

Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
   <IfPort 443>
      SSLEngine On
   </IfPort>
   ... a bunch of lines I don't want to copy into another VirutalHost block...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

mod-ssl apache-2.2

18
推荐指数
1
解决办法
4575
查看次数

为什么我的 SSL 证书在 Android 上不受信任?

SSL 证书在大多数台式计算机上受信任,但仅在某些 Android 设备上受信任。但是,即使在证书不受信任的 Android 设备上,也会安装根证书。

我一定尝试了百种方法来解决这个问题,但我认为这与AddTrust 外部 CA 根有关(可能与缺少的SHA-256指纹有关?)。

  • 原因似乎不是不正确的证书颁发机构包。
  • 原因似乎与时间无关。
  • 我使用过的所有在线 SSL 检查工具(例如https://www.ssllabs.com)都说 SSL 证书安装正确。
  • 根证书位于我的 Android 设备和台式计算机上(请参阅两个屏幕截图中的 SHA1 指纹,它们是相同的)。

根证书安装在 Android 上。 根证书安装在我的桌面上。

编辑 1

我相信我已经在我的证书链中包含了新的中间证书,但是 SSL 实验室仍然报告它不存在(即使在单击“清除缓存”按钮之后)。

浏览器刷新包括新的 SSL 证书链。 SSLLabs 刷新没有看到新的 SSL 证书链。

编辑 2

明确说明我所做的:

  1. 我已登录 WHM 并单击“在域上安装 SSL 证书”选项。

  2. 我输入了域名“www.angusaustralia.com.au”。

  3. 我输入了 IP 地址“27.124.127.2”。

  4. 我已经输入了发给我的证书。

-----开始认证-----
MIIFnDCCBISgAwIBAgIRAP/vaD7B7JaVJvqC2H7jiDcwDQYJKoZIhvcNAQELBQAw
gZMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMTkwNwYD
VQQDEzBVU0VSVHJ1c3QgUlNBIERvbWFpbiBWYWxpZGF0aW9uIFNlY3VyZSBTZXJ2
ZXIgQ0EwHhcNMTYwNjI3MDAwMDAwWhcNMTcwNjI3MjM1OTU5WjCBhzEhMB8GA1UE
CxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMScwJQYDVQQLEx5Ib3N0ZWQgYnkg
Q3JhenkgRG9tYWlucyBGWi1MTEMxFTATBgNVBAsTDEVzc2VudGlhbFNTTDEiMCAG
A1UEAxMZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBALbDVHckJORMdY0/ygZqo0jjI02E883VpyL0RCeq7wuI
wkCWys3L1v6ZjW45wBEbsYGwpZMV3/IdXYTc5cO5ke4bYnXP4y5NbteVvNOQi1sX
FMf8DlpJ+K0ZRcWQVIpsSIRRslXUPw4PWu27Q6Sgp1JuVa2YhXu7hSshIrIhkslT
Bx/IL67ZZfwo3wpMoig271yGHT4y1KAz9BfLTqVftL8n7uCKYFj3vo5E44czqSRl
wYdQgSOLUc1G7jt33fCV8t+hXbKR0WdutTwdBQfftp2ZCSYwKCgCl3yDSLnqbbI+
8GdFuLM4c1ZZwbFfJiKSZ5qDBg0IeODgIRdxSDmirDECAweEAAaOCAfMwggHvMB8G
A1UdIwQYMBAAFKbB5+H09kdj1y99jZD4uiNPYKyeMB0GA1UdDgQWBBRbjv4H+sED
CnGTcCoBdTIGeUPOOjAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BA​​IwADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTAYDVR0gBEUwQzA3BgwrBgEEAbIx
AQIBAwQwJzAlBggrBgEFBQcCARYZaHR0cHM6Ly9jcHMudXNlcnRydXN0LmNvbTAI
BgZngQwBAgEwWAYDVR0fBFEwTzBNoEugSYZHaHR0cDovL2NybC51c2VydHJ1c3Qu
Y29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBTBggrBgEFBQcwAoZhaHR0cDovL2NydC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2
ZXJDQS5jcnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20w
OwYDVR0RBDQwMoIZd3d3LmFuZ3VzYXVzdHJhbGlhLmNvbS5hdYIVYW5ndXNhdXN0
cmFsaWEuY29tLmF1MA0GCSqGSIb3DQEBCwUAA4IBAQCfA2SHg1DtKmHvipfT3REv
yowcSTu7/PbKsOAnxdFlnfziKImPJcAwR7PWQoAFAG3pqfk0lGpxkeXN4UhXRs6m
MlKKy1xY5H8B4hytCAQDzfZGx0lL4ajeLDsZ439YsHR33abhkf6IieHG412x6PkO
csr8NFqevOnxAXkjV4yvfQIPk8sGkzT4rdIlMAS7ZW39wKGe31rYrHFXo1EJqswE
mFjMfYtteExXW1e5RqNyecYZ/A8mkJduqiMNvpEzAtDVzKh49bxB4gI97UsIfA9G
4k2KzJarfl+gUFucAIPWEwO2ljXMgOmHCtuTycUmir2KDg5OIDzv7M5snwMVNQs7
-----结束证书-----
  1. 我已经输入了私钥(下面未列出)。

  2. 我已经输入了以下证书钥匙串(以下有多种组合,但我相信这个“​​更长”的钥匙串应该可以工作,根据 …

mod-ssl openssl ssl-certificate

17
推荐指数
1
解决办法
1万
查看次数

会话缓存未配置...为什么?

我在 Windows Server 2003 R2 32 位(加上 PHP 5.4.5 和 OpenSSL 1.0.1c,但我认为这并不重要)上运行(实际上试图运行)Apache 2.4.2,并且我得到了错误日志中的以下行:

[Sun Aug 05 11:52:39.546875 2012] [ssl:warn] [pid 5712:tid 348] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
Run Code Online (Sandbox Code Playgroud)

尝试连接https://localhost/时出现 102 - 连接被拒绝错误。

令我困惑的是,它SSLSessionCache 是这样配置的:

SSLSessionCache        "shmcb:C:/Program Files/Apache Software Foundation/Apache2.4/logs/ssl_scache(512000)"
Run Code Online (Sandbox Code Playgroud)

我为 Apache 2.2.17 使用的配置文件完全相同(除了 /Apache2.2 而不是 2.4),它运行得很好。使用 mod_status,我没有得到“SSL/TLS 会话缓存状态”的信息,而我为 Apache 2.2 做。

我不认为这两个httpd-ssl.conf文件有很多区别,主要是路径之间,但似乎它们都可以。

端口 80 上的虚拟服务器运行正常。

我错过了什么?

编辑:对于那些想知道的人来说,这不是当机器无法解析ServerName. Apache 2.2 没有问题,我什至用netstat /flushdns.

windows windows-server-2003 mod-ssl apache-2.2

15
推荐指数
1
解决办法
7万
查看次数

在 Amazon EC2 实例上安装和配置 mod_ssl

我正在尝试使用我网站上的 mod_ssl 模块支持 HTTPS 流量。我正在为我的服务器运行 Amazon EC2 实例。我已经安装并配置了基本的 LAMP 包。然而,当我去把在SSL特定的命令在我的Apache配置文件(即SSLEngineSSLCertificateFile等),它吐出了一个错误,说我有一个语法错误或没有加载模块。

我的下一步是尝试$ sudo yum install mod_ssl。但是,yum 返回并说:“处理冲突...错误:httpd24-tools 与 httpd-tools 冲突”。所以,我认为 mod_ssl 包含在 httpd-tools 包中。然后我跑了,$ sudo yum install httpd24-tools但它回来告诉我我已经安装了那个包。

现在为什么我安装了 httpd-tools 包,但我的系统中没有加载 mod_ssl?httpd-tools 包中不包含 mod_ssl 吗?我创建了一个测试 php 文件<?php echo phpinfo(); ?>只是为了确保。我的怀疑得到了证实——phpinfo 中的 apache2handler 加载模块表下没有列出“mod_ssl”

因此,我不确定如何使用 Amazon Linux AMI 加载/安装/配置 mod_ssl。任何帮助,将不胜感激。这是我目前的规格:

  • 亚马逊 Linux AMI 2012.09
  • 阿帕奇 2.4
  • PHP 5.4

运行此命令以设置服务器:

$ sudo yum install httpd24 php54 php54-devel php54-mysql php54-common php54-gd php54-xml …
Run Code Online (Sandbox Code Playgroud)

configuration https mod-ssl amazon-ec2 apache-2.2

15
推荐指数
1
解决办法
2万
查看次数

Apache 2.4.8+ 上的 SSLCertificateChainFile 弃用警告

我们有来自 Network Solutions 的网站 SSL 证书。将 Apache/OpenSSL 升级到 2.4.9 版后,我现在在启动 HTTPD 时收到以下警告:

AH02559: The SSLCertificateChainFile directive (/etc/httpd/conf.d/ssl.conf:105) is deprecated, SSLCertificateFile should be used instead
Run Code Online (Sandbox Code Playgroud)

根据mod_sslApache 手册情况确实如此:

SSLCertificateChainFile 已弃用

SSLCertificateChainFile 在 2.4.8 版中已过时,当时 SSLCertificateFile 被扩展为还从服务器证书文件加载中间 CA 证书。

查找SSLCertificateFile的文档,看起来我只需要将我对SSLCertificateChainFile 的调用替换SSLCertificateFile调用

此更改使我的 ssl.conf 从此:

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateKeyFile /etc/ssl/server.key
SSLCertificateChainFile /etc/ssl/Apache_Plesk_Install.txt
Run Code Online (Sandbox Code Playgroud)

对此:

SSLCertificateFile /etc/ssl/STAR.EXAMPLE.COM.crt
SSLCertificateFile /etc/ssl/Apache_Plesk_Install.txt
SSLCertificateKeyFile /etc/ssl/server.key
Run Code Online (Sandbox Code Playgroud)

......但这不起作用。Apache 只是在没有任何错误消息的情况下拒绝启动。

我不确定在这里还可以尝试什么,因为我对 mod_ssl 或 SSL 证书一般不太熟悉。我记得我们需要为 Internet Explorer添加Apache_Plesk_Install.txt文件才能在我们的站点上没有 SSL 警告,但除此之外 …

certificate mod-ssl ssl-certificate apache-2.4

15
推荐指数
2
解决办法
2万
查看次数

如何在 Apache httpd 2.2.15 上禁用 SSLCompression?(防御犯罪/野兽)

我了解了针对 TLS 压缩的CRIME攻击(CVE-2012-4929,CRIME 是针对 ssl 和 tls 的 BEAST 攻击的继承者),我想通过禁用 SSL 压缩来保护我的网络服务器免受这种攻击,它已添加到 Apache 2.2.22(见错误 53219)。

我正在运行 Scientific Linux 6.3,它与 httpd-2.2.15 一起提供。httpd 2.2 上游版本的安全修复应该向后移植到这个版本。

# rpm -q httpd
httpd-2.2.15-15.sl6.1.x86_64

# httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 14 2012 09:47:14
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Run Code Online (Sandbox Code Playgroud)

我在我的配置中尝试关闭 SSLCompression,但这会导致以下错误消息:

# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: …
Run Code Online (Sandbox Code Playgroud)

security mod-ssl tls apache-2.2

14
推荐指数
1
解决办法
3万
查看次数