LINUX.ORG.RU
ФорумAdmin

Apache: Ошибка подключения SSL - ERR_SSL_PROTOCOL_ERROR (Centos 6.3)


0

1

Доброго времени суток! Собственно необходимо помимо имеющегося доступа к сайту по http настроить доступ по https с самподписным ssl сертификатом. Сертификаты сгенерены, сконфигурирован Апач (по статье http://centos.name/?page/howto/Https). Текущие настройки /etc/httpd/conf/httpd.conf:

ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
#Listen 443
<IfModule worker.c>
StartServers         2
MaxClients          30
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  1500
</IfModule>

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so

Include conf.d/*.conf

User bitrix
Group bitrix

ServerAdmin root@localhost

UseCanonicalName Off

DocumentRoot "/home/bitrix/www"

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<IfModule mod_userdir.c>
    UserDir disable
</IfModule>

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
#   MIMEMagicFile /usr/share/magic.mime
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined
ServerSignature On

<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw

###LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

###ForceLanguagePriority Prefer Fallback

AddDefaultCharset UTF-8

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

<Location /server-status>
        SetHandler server-status
        Allow from 127.0.0.1
        Order deny,allow
        Deny from all
</Location>
ExtendedStatus On

Текущий конфиг /etc/httpd/conf.d/default.conf:

NameVirtualHost *:80
Listen 80
ServerName site_name.com
<VirtualHost site_name.com>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/bitrix/www/site_name
        ServerName site_name.com
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /home/bitrix/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                DirectoryIndex index.php index.html index.htm
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog logs/error_log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

###     CustomLog logs/access_log combined

    <IfModule mod_rewrite.c>
    #Nginx should have "proxy_set_header HTTPS YES;" in location
    RewriteEngine On
    RewriteCond %{HTTP:HTTPS} =YES
    RewriteRule .* - [E=HTTPS:on,L]
    </IfModule>

</VirtualHost>

Текущий конфиг /etc/httpd/conf.d/default-ssl.conf:

<IfModule mod_ssl.c>
NameVirtualHost *:443

Listen 443
<VirtualHost *:443>
        <Directory /home/bitrix/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                DirectoryIndex index.php index.html index.htm
                Order allow,deny
                allow from all
        </Directory>
        <Directory /home/bitrix/www/site_name>
                AllowOverride All
        </Directory>
        DocumentRoot /home/bitrix/www/site_name
        ServerName site_name.com

        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCertificateFile /etc/pki/tls/certs/ca.crt
        SSLCertificateKeyFile /etc/pki/tls/private/ca.key
</VirtualHost>
</IfModule>

При таких настройках сайт работает по http, но при попытке подключиться по https в браузере вываливается ошибка, приведенная в сабже (проверено в браузерах IE, Mozilla и Chrome). Однако если в файле /etc/httpd/conf.d/default-ssl.conf строки

<IfModule mod_ssl.c>
NameVirtualHost *:443

Listen 443
<VirtualHost *:443>
заменить на
<IfModule mod_ssl.c>
NameVirtualHost site_name.com:443

Listen 443
<VirtualHost site_name.com:443>
то при попытке зайти на сайт по http отображается домашняя страница Апача, а по https сайт открывается, но почему-то не грузит стили и картинки, хотя по сути директория DocumentRoot одна и та же. Главное, что необходимо иметь доступ к сайту как по http (для конечных пользователей), так и по https (для работы веб-приложения).
Помогите, пожалуйста, решить проблему.


Давно не видел centos, не пойму зачем пихать все модули в конфиг, если есть /etc/apache2/mods-enabled/*, и ведь порты можно указать в port.conf. Если совсем просто, можно все в один конфиг положить:

<VirtualHost *:80>
        ServerName ---
        DocumentRoot /var/web/---
       <Directory />
        AllowOverride All
</Directory>
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
        DocumentRoot /var/web/---
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>

        SSLEngine on

        SSLCertificateFile    /var/web/crt/----crt
        SSLCertificateKeyFile /var/web/crt/----key
</VirtualHost>
</IfModule>
ports.conf
NameVirtualHost *:80
Listen 0.0.0.0:80

<IfModule mod_ssl.c>
      Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 1)
Ответ на: комментарий от invokercd

На данном сервере нет /etc/apache2/ ибо в Centos это /etc/httpd/ да и дробить все на кучу мелких файлов - это по-моему убунтовская фишка. Но не суть (не вижу на самом деле особой разницы с точки зрения работы веб-сервера, все равно все в один конфиг инклудится), пробовали по разному и разбивать на разные файлы, и пихать все в один - https так и не работает.

Incher
() автор топика
Ответ на: комментарий от Incher

Я поэтому и написал что centos давно не трогал. Тут суть не в дроблении, а в удобстве. Проще ведь убрать симлинк на конфиг, чем каждый раз менять кусок кода в одном большом конфиге.

invokercd ★★★★
()
Ответ на: комментарий от Incher

Почему разные пути?

DocumentRoot /home/bitrix/www/site_name
DocumentRoot "/home/bitrix/www"
Ху из ху?

invokercd ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.