我有一个客户试图访问我的某个网站,他们不断收到此错误> ssl_error_rx_record_too_long
他们在所有浏览器,所有平台上都出现此错误.我根本无法重现这个问题.
我的服务器和我自己位于美国,客户位于印度.
我搜索了问题,主要来源似乎是SSL端口在HTTP中发言.我检查了我的服务器,但这没有发生.我尝试了这里提到的解决方案,但客户已声明它没有解决问题.
任何人都可以告诉我如何解决这个问题,或者我如何重现这个???
解决方案
原来客户有一个配置错误的本地代理!
希望有助于任何人发现这个问题,试图在将来调试它.
我正在将Apache版本从2.0升级到2.4.安装2.4后,我遇到了以下问题.
Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration
AH00526: Syntax error on line 77 of /apache/conf/ssl.conf:
Run Code Online (Sandbox Code Playgroud)
ssl.conf中的第77行是SSLMutex file:/apache/logs/ssl_mutex.
我已经加载mod_ssl并且我已经加载了下面的mod但是我仍然无法解决这个问题.
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Run Code Online (Sandbox Code Playgroud)
注意:如果我在ssl.conf文件中注释掉SSLMutex行,那么Apache正在使用SSL端口.我担心如果SSLMutex问题得不到解决将会发生什么.请提出一些解决方案.
谢谢
有关背景资料:(底部问题)
我正在尝试连接到一个客户端,该客户端有8台服务器,所有服务器都有唯一的IP地址.客户端在所有服务器上使用相同的SSL证书(例如,cert name == www.all_servers.com).客户端仅允许通过https传入请求.
我正在尝试使用mod_proxy创建一个apache代理,该代理将不同的URI映射映射到不同的服务器.例如:
https://PROXY_SERVER/SERVER1/{REQUEST}
Run Code Online (Sandbox Code Playgroud)
这会将{REQUEST}发送到server1
https://PROXY_SERVER/SERVER2/{REQUEST}
Run Code Online (Sandbox Code Playgroud)
将{REQUEST}发送到server2.到目前为止,非常简单.
在Apache 2.2中,这可以通过使用如下所示的IP地址来实现:
SSLProxyEngine On
ProxyPass /server1 https://1.1.1.1/
ProxyPassReverse /server1 https://1.1.1.1/
ProxyPass /server2 https://1.1.1.2/
ProxyPassReverse /server2 https://1.1.1.2/
Run Code Online (Sandbox Code Playgroud)
这是因为Apache 2.2没有检查证书是否匹配(1.1.1.1!= www.all_servers.com)
但是,在Apache 2.4中,我现在正在获得证书问题(这是正确的).(这个确切的代码适用于apache 2.2框)
[Thu Oct 10 12:01:48.571246 2013] [proxy:error] [pid 13282:tid 140475667224320] (502)Unknown error 502: [client 192.168.1.1:48967] AH01084: pass request body failed to 1.1.1.1:443 (1.1.1.1)
[Thu Oct 10 12:01:48.571341 2013] [proxy:error] [pid 13282:tid 140475667224320] [client 192.168.1.1:48967] AH00898: Error during SSL Handshake with remote server returned by /server1/asd
[Thu Oct 10 12:01:48.571354 …Run Code Online (Sandbox Code Playgroud) 我刚刚购买了SSL证书,并正在考虑在我的Amazon Elastic Load Balancer上实现它的选项,它将利用Apache2.根据我的理解,我有两种方法可以在Apache 2中实现SSL证书 - apache-ssl或mod_ssl.这个问题的目的是收集与一个或另一个相关的利益/缺点.
我已经找到了在Apache中使用基于DOD CAC卡的客户端证书身份验证的所有必要步骤,但现在我正在努力从我收到的证书中为用户提供良好的GUID.证书上是否有可用的GUID,在更新CAC卡时不会更改?我正在考虑使用SSL_CLIENT_S_DN,它看起来像:
/ C = US/O =美国政府/ OU = DoD/OU = PKI/OU =承包商/ CN = LAST_NAME.FIRST_NAME.MIDDLE_NAME.0123456789
但是我听说CAC卡更新时最后的数字会发生变化.这是真的?是否有更好的信息用于GUID?我也想获取用户的电子邮件地址,但我在证书中收到的信息中看不到它.电子邮件地址是否在我看不到的某些自定义扩展程序中可用?
谢谢!
看看PayPal(https://www.paypal.com/)安全证书.它说:连接加密:高级加密(TLS_RSA_WITH_AES_256_CBC_SHA,256位密钥).
现在,如何创建自签名证书以使用相同的加密AES256?
我在Openssl中尝试了以下代码:
openssl> req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
我最终获得了128位证书.然后我尝试了:
openssl> genrsa -aes256 -out key.key 4096
openssl> req -new -key key.key -out cert.csr
openssl> x509 -req -days 365 -in cert.csr -signkey key.key -out cert.crt
openssl > rsa -in key.key -out key.key
即使我指定'-aes256',我也会再次获得128位证书:连接加密:高级加密(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,128位键).
那么,我做错了什么,你能告诉我如何创建256证书吗?感谢帮助!
我们使用mod_proxy在反向代理模式下使用带有mod_ssl的 Apache 2.2.25 .它有一个我们用于测试目的的服务器证书,由GoDaddy发布.链中有3个证书.中间CA(Go Daddy安全证书颁发机构 - G2)并不总是在客户的可信CA列表中找到.server cert -> GoDaddy intermediate CA -> GoDaddy Root CA
与服务器的SSL连接适用于浏览器(至少对某些浏览器而言),但不适用于其他一些客户端.我们注意到我们的服务器没有使用以下命令发送完整的证书链:openssl s_client -showcerts -connect SERVER_URL:443,实际上该命令报告错误Verify return code: 21 (unable to verify the first certificate)
我们SSLCertificateFile在每个VirtualHost中使用该指令:
SSLCertificateFile certificate.crt
Run Code Online (Sandbox Code Playgroud)
certificate.crt文件包含私钥和链中的所有证书.我们试图将其拆分为以下内容:
SSLCertificateFile server.crt
SSLCertificateKeyFile server.key
SSLCertificateChainFile chain.crt
Run Code Online (Sandbox Code Playgroud)
但这并没有改变任何事情.
谢谢你的帮助!
编辑
情节变粗 - 它似乎是证书和服务器的某种组合.
(使用SSL Shopper工具进行测试)
我使用的是 Apache 2.4.12,所以SSLCertificateChainFile现在已过时,任何中间证书都应该包含在服务器证书文件中。比其他证书的任意组合-我想不出但如何做到这一点,只是里面指定的文件会导致无效键错误的站点证书。如何在我使用SSLCertificateFile指定的文件中正确包含中间证书?
逐步为我的网站启动并运行 TLS。我阅读了 AWS 文档
sudo yum install -y mod24_ssl
但在某些依赖项上遇到了冲突。
我最终读了一篇博客,其中有人提到sudo yum install mod_ssl,我最终运行它没有任何问题。有人可以告诉我这是否安全吗?mod_ssl 和 mod24_ssl 有什么区别?
谢谢
我想在 Apache 中使用反向代理将 AWS APIGateway URL 放在前面。原因是由于一个过程需要静态 IP 来在严格的防火墙后面提供服务,并且当前的基础架构已经安装了 mod_proxy。我希望实现的解决方案是简单地通过 mod_proxy 路由 https->https(apiGateway)。
但是.. AWS 使用 SNI,我无法让 mod_proxy 握手。
我启用了以下设置
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyPreserveHost On
SSLProxyEngine On
ProxyPass /api/1_0/ https://xxx.execute-api.eu-west-1.amazonaws.com/1_0/
ProxyPassReverse /api/1_0/ https://xxx.execute-api.eu-west-1.amazonaws.com/1_0/
Run Code Online (Sandbox Code Playgroud)
以下日志在调试模式下可用
proxy_util.c(2020): AH00942: HTTPS: has acquired connection for (xxx.execute-api.eu-west-1.amazonaws.com)
proxy_util.c(2610): AH00962: HTTPS: connection complete to 52.x.x.x:443 (xxx.execute-api.eu-west-1.amazonaws.com)
AH01964: Connection to child 0 established (server domain.com:443)
AH02003: SSL Proxy connect failed
SSL Library Error: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
AH01998: Connection closed to child 0 with abortive …Run Code Online (Sandbox Code Playgroud)