RHEL/Apache ssl.conf проблема конфигурации

Как администратор,

  • Перейдите к Панели управления | Система и нажмите на Advanced System Settings в левой панели ИЛИ
  • Щелкните правой кнопкой по Computer и выберите Properties

  • Нажмите кнопку Environment Variables

  • Под Системными переменными отредактируйте переменную ПУТИ и добавьте Вашу папку к значению (отдельный с точкой с запятой)
0
задан 18 November 2010 в 01:39
3 ответа

Удостоверьтесь, что api.bulbstorm.com и www.bulbstorm.com vhosts находятся на РАЗЛИЧНЫХ IP-адресах. Вот мои конфигурации vhost для 2 различных субдоменов с уникальными сертификатами SSL:

/usr/local/etc/apache22/Includes/login.domain.com.ssl.conf

Listen 10.0.0.152:443

<VirtualHost 10.0.0.152:443>
ServerAdmin admin@domain.com
DocumentRoot /web0/cloud/login.domain.com/current
ServerName login.domain.com

ServerAlias www.login.domain.com login.domain.com


LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog /var/log/www/login.domain.com-access_log
ErrorLog /var/log/www/login.domain.com-error_log

<DIRECTORY /web0/cloud/login.domain.com/current>
Allow from All
OPTIONS Indexes Includes ExecCGI FollowSymLinks
AllowOverride ALL
</DIRECTORY>

IndexOptions FancyIndexing

AddType application/x-httpd-php .html

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/login.domain.com.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/login.domain.com.key"
SSLCertificateChainFile "/usr/local/etc/apache22/ssl.crt/comodo.ca-bundle"

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0


</VirtualHost>

/usr/local/etc/apache22/Includes/admin.domain.com.ssl.conf

Listen 10.0.0.151:443

<VirtualHost 10.0.0.151:443>
ServerAdmin admin@domain.com
DocumentRoot /web0/cloud/admin.domain.com/current
ServerName admin.domain.com

ServerAlias www.admin.domain.com admin.domain.com

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
TransferLog /var/log/www/admin.domain.com-access_log
ErrorLog /var/log/www/admin.domain.com-error_log

<DIRECTORY /web0/cloud/admin.domain.com/current>
Allow from All
OPTIONS Indexes Includes ExecCGI FollowSymLinks
AllowOverride ALL
</DIRECTORY>

IndexOptions FancyIndexing

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "/usr/local/etc/apache22/ssl.crt/admin.domain.com.crt"
SSLCertificateKeyFile "/usr/local/etc/apache22/ssl.key/admin.domain.com.key"
SSLCertificateChainFile "/usr/local/etc/apache22/ssl.crt/comodo.ca-bundle"

BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0


</VirtualHost>
2
ответ дан 4 December 2019 в 12:13
  • 1
    @amishgeek - превосходный.спасибо. у нас на самом деле уже есть несколько IP-адресов, решающих к этой машине. я должен смочь скорректировать запись DNS для выполнения субдомена API через один из других ip' s. –  codemonkey 27 July 2009 в 19:21

Как amishgeek указывает, и ping подтверждает:

    Microsoft Windows [Version 6.0.6002]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

    C:\Users\Owner>ping bulbstorm.com

    Pinging bulbstorm.com [216.139.247.153] with 32 bytes of data:
    Control-C
    ^C
    C:\Users\Owner>ping www.bulbstorm.com

    Pinging www.bulbstorm.com [216.139.247.153] with 32 bytes of data:
    Control-C
    ^C
    C:\Users\Owner>ping api.bulbstorm.com

    Pinging api.bulbstorm.com [216.139.247.153] with 32 bytes of data:
    Control-C
    ^C
    C:\Users\Owner>

У Вас есть тот же IP-адрес для обоих хостов. SSL происходит, прежде чем имена хостов отправляются. Имена хостов отправляются в Apache через Хост: заголовок в Запросах HTTP. В OpenSSL 1.0 будет поддержка сертификатов TLS, которые могут помочь с совместным использованием IP, но это - другой ballgame и больше поиска с помощью Google.

Ссылки:

ОБХОДНЫЕ РЕШЕНИЯ:

На статью в Википедии о TLS: необходимо скорректировать сертификат для поддержки нескольких подчиненных альтернативных имен (GoDaddy имеет "Сертификаты UCC"), или получите Wildcard-сертификат.

В зависимости от Вашей базы пользователей Вы могли попросить, чтобы пользователи поддерживали certficate корень CACert и получили subjectAltName сертификат от них. (на самом деле похоже, что Ваш текущий сертификат имеет subjectAltName для bulbstorm.com И www.bulbstorm.com). Это сохраняет Вас 70,00$ в год. Поместите ссылку на своей странице не-SSL или на Вашей странице SSL, которая говорит что-то как

"Вы получаете ошибки браузера SSL? Мы используем сертификаты SSL CACert. Перейдите по этой ссылке для загрузки их корневых сертификатов в браузер".

2
ответ дан 4 December 2019 в 12:13
  • 1
    @mpbloch - это было тем, что я искал, спасибо! –  codemonkey 27 July 2009 в 19:16
  • 2
    Решенный вопрос ;-) Apache' s файлы конфигурации может быть скотски, и it' s действительно удивительный для переключения между Apache и затем веб-сервером Пропасти. Проводя некоторое время с Вашим собственным полем, и настраивая файлы конфигурации для виртуальных хостов, SSL и полномочия каталога, и т.д., могут быть неоценимым способом провести несколько часов. Я часто реструктурирую свои файлы конфигурации позже, так, чтобы они имели смысл к ME. Удаление комментариев из демонстрационных файлов конфигурации может улучшить удобочитаемость. Кроме того, я использую Подвижный (hg) для хранения снимков каталога и историй пересмотра моих файлов конфигурации для того, когда материал изменяется, я могу легко откатывать. –  mpbloch 27 July 2009 в 21:25

Для ответа на вопрос в самом конце это - то, как генерировать сам подписанный сертификат SSL.

Во-первых, эта строка генерирует закрытый ключ, который используется для генерации сертификата подписывая запрос (CSR).

openssl genrsa -des3 -out server.key 1024

Вам предложат ввести пароль. Этот пароль зашифрует закрытый ключ. Эта следующая строка генерирует CSR использование Вашего закрытого ключа.

openssl req -new -key server.key -out server.csr

Вам затем предложат следующие вопросы (и Ваш пароль, если Вы приняли решение использовать один выше в поколении Вашего закрытого ключа.)

Country Name (2 letter code) [GB]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Править: если Вы действительно генерируете самоподписанный сертификат для тестирования, Common Name поле выше - то, где Вы хотите поместить свой домен (точно, как Вы хотите это, т.е. с www если Вы хотите, чтобы это было адресом, Вы используете). После генерации CSR можно самоподписать его делающий следующее.

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Затем у Вас будет свой закрытый ключ (server.key) и Ваш сертификат SSL (server.crt) который можно установить в Apache с помощью директив, Вы использовали выше для других сертификатов.

Я не уверен, отвечает ли это на какой-либо из вопросов относительно очевидного неправильного сертификата, отправляемого в браузер, но я предложил бы, возможно, удалить все ссылки на файлы сертификата вне этого VirtualHost директива, чтобы видеть, происходит ли это все еще, так как Вы только действительно можете иметь один хост SSL на IP-адрес, и имеющий несколько SSLCertificateFile директивы могли иметь необычный эффект.

0
ответ дан 4 December 2019 в 12:13
  • 1
    Не текущий вопрос. –  mpbloch 25 July 2009 в 05:12
  • 2
    Я понимаю, однако он спросил в конце, как генерировать самоподписанный сертификат, таким образом, я объяснил просто это. –  James 25 July 2009 в 05:16
  • 3
    Однако he' s уже " сгенерированное использование openssl на инструкции нашло here": tc.umn.edu/~brams006/selfsign.html . И потребности знать " как... внести ssl.conf корректировки файла, необходимые для получения их к на самом деле work" –  mpbloch 25 July 2009 в 05:19
  • 4
    Но Вы берете что he' s говорящий из контекста. Возможно, необходимо считать первую половину предложения, которое Вы на самом деле заключили в кавычки и опустили часть: " I' d действительно любят мочь знать, как создать самоподписанные сертификаты и внести ssl.conf корректировки файла, необходимые, чтобы заставить их на самом деле работать " –  James 25 July 2009 в 08:54
  • 5
    Таким образом, я объяснил как. I' m вполне уверенный it' s допустимый ответ и I' m не уверенный, почему I' ve кивнул вниз для него. –  James 25 July 2009 в 08:54

Теги

Похожие вопросы