2014-01-24 6 views
0

У меня проблема с подключением к Oauth2 APi, для чего требуется HTTPS-соединение. Поэтому я пытаюсь настроить ssl на моем сервере (apache2), чтобы обслуживать обратный адрес, который я передал Box-API, который является адресом https.Ошибка SSL Zend Framework BoxAPi

Но я постоянно получаю эту ошибку:

(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_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 

</VirtualHost> 

я сделал a post в ZendForum тоже.

ОБНОВЛЕНИЕ: проблема может быть не в конфигурации apache, а в браузере, я нашел много людей в сети, которые говорят, что это неправильная настройка браузера. Теперь, если я перейти к:

https://localhost 

я получить содержимое страницы, но если я пытаюсь соединиться с внешней службой (как API я должен использовать) ошибка остается прежней. Я проверяю журналы прямо сейчас.

+1

Попробуйте изменить файл http-ssl.conf. Строка, которая запускает 'SSLCipherSuite' - изменяет ее на' SSLCipherSuite ALL:! ANULL:! ADH:! ENULL:! LOW:! EXP: RC4 + RSA: + HIGH: + MEDIUM: + SSLv3' http://stackoverflow.com/questions/119336/ssl-error-rx-record-too-long-and-apache-ssl – madebydavid

+0

Попытка, не помогает. Я получил https: // localhost, но https: // localhost/project/page не работает, он продолжает давать мне эту ошибку. Это может быть проблема браузера? – softwareplay

+1

Хорошо. как насчет удаления номера порта из строки 'ServerName' ?:' ServerName localhost' – madebydavid

ответ

0

Ответ не прост. Однако мне пришлось сменить сертификаты и установить как CommonName как localhost. Затем в httpd-ssl.conf мне пришлось установить виртуальный хост для работы с портом 10088, а не с 443, потому что URL-адрес, который я должен был сделать как https, был на этом порту, поэтому мне пришлось активировать правильный виртуальный хост на ssl, чтобы получить он работает. Это мои 2 цента ...

Смежные вопросы