SSL 错误 Zend Framework BoxAPi
Posted
技术标签:
【中文标题】SSL 错误 Zend Framework BoxAPi【英文标题】:SSL error Zend Framework BoxAPi 【发布时间】:2014-02-15 09:10:51 【问题描述】:我在连接到需要 HTTPS 连接的 Oauth2 APi 时遇到问题。所以我试图在我的服务器(apache2)上配置 ssl 来提供我给 Box-API 的回调地址,这是一个 https 地址。
但我不断收到此错误:
(Codice di errore: ssl_error_rx_record_too_long)
所以我搜索了网络,发现我必须在我的服务器上设置 ssl_mod。但是当我在文件中编写 LoadModule 行并重新启动服务器时,它说该模块已经内置,所以我查看了配置。 Httpd.conf 有这些行:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Listen 443
</IfModule>
[...]
<VirtualHost *:443>
ServerName localhost
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /usr/local/zend/apache2/server.crt
SSLCertificateKeyFile /usr/local/zend/apache2/host.nopass.key
</VirtualHost>
除了 httpd-ssl.conf 之外还有以下内容:
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed startup file:/dev/urandom 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512
[...]
Listen *:443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/usr/local/zend/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLMutex "file:/usr/local/zend/apache2/logs/ssl_mutex"
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/usr/local/zend/apache2/htdocs"
ServerName localhost:443
ServerAdmin
ErrorLog "/usr/local/zend/apache2/logs/error_log"
TransferLog "/usr/local/zend/apache2/logs/access_log"
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/zend/apache2/server.crt"
#SSLCertificateFile "/usr/local/zend/apache2/conf/server-dsa.crt"
SSLCertificateKeyFile "/usr/local/zend/apache2/host.nopass.key"
#SSLCertificateKeyFile "/usr/local/zend/apache2/conf/server-dsa.key"
#SSLCertificateChainFile "/usr/local/zend/apache2/conf/server-ca.crt"
#SSLCACertificatePath "/usr/local/zend/apache2/conf/ssl.crt"
#SSLCACertificateFile "/usr/local/zend/apache2/conf/ssl.crt/ca-bundle.crt"
#SSLCARevocationPath "/usr/local/zend/apache2/conf/ssl.crl"
#SSLCARevocationFile "/usr/local/zend/apache2/conf/ssl.crl/ca-bundle.crl"
#SSLVerifyClient require
#SSLVerifyDepth 10
#<Location />
#SSLRequire ( %SSL_CIPHER !~ m/^(EXP|NULL)/ \
# and %SSL_CLIENT_S_DN_O eq "Snake Oil, Ltd." \
# and %SSL_CLIENT_S_DN_OU in "Staff", "CA", "Dev" \
# and %TIME_WDAY >= 1 and %TIME_WDAY <= 5 \
# and %TIME_HOUR >= 8 and %TIME_HOUR <= 20 ) \
# or %REMOTE_ADDR =~ m/^192\.76\.162\.[0-9]+$/
#</Location>
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/zend/apache2/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "/usr/local/zend/apache2/logs/ssl_request_log" \
"%t %h %SSL_PROTOCOLx %SSL_CIPHERx \"%r\" %b"
</VirtualHost>
我也在 ZendForum 发了a post。
更新:问题可能不在于 apache 配置,而在于浏览器,我发现网上很多人说这是浏览器配置错误。现在,如果我导航到:
https://localhost
我得到了页面的内容,但是如果我尝试连接外部服务(比如我必须使用的 api),错误仍然是一样的。我现在正在检查日志。
【问题讨论】:
尝试更改您的 http-ssl.conf 文件。以SSLCipherSuite
开头的行 - 将其更改为 SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM:+SSLv3
***.com/questions/119336/…
试过了,没用。我得到localhost 工作,但localhost/project/page 不起作用,它一直给我这个错误。会不会是浏览器的问题?
好的。如果您从ServerName
行中删除端口号怎么样?:ServerName localhost
【参考方案1】:
答案并不简单。但是我不得不更改证书并将 CommonName 设置为 localhost。然后在 httpd-ssl.conf 中,我必须将虚拟主机设置为使用 10088 端口,而不是 443,因为我必须作为 https 制作的 URL 位于该端口上,所以我必须在 ssl 上激活正确的虚拟主机才能获得它工作。 这是我的 2 美分...
【讨论】:
以上是关于SSL 错误 Zend Framework BoxAPi的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:在 Zend Framework + Wamp 中找不到类“Memcache”
Zend Framework 2 安装期间的 Composer CreateProcess 错误代码 0
Doctrine2更新导致Zend Framework 3中的AnnotationRegistry registerLoader错误