Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как настроить SSL под ubuntu и apache2?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Сайга-12
Отправлено: 16 Ноября, 2015 - 11:56:26
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Добрый день, уважаемые программисты. С линуксом общаюсь на уровне пользователя. SSL ни когда не ставил.
Нужно сделать так, чтобы сайт работал по https.

Что имеется:
OS: ubuntu
Server: Apache2
Общение через SSH
И Какие-то странные два файла *.crt и *.ca-bundle (скорей всего сертификат), который мне прислали, чтобы я настроил ssl.
Оба файла начинаются и заканчиваются с текстом:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

Сертификат от Comodo .
Решил у них поискать "Как настроить". Нашёл вот это:
https://support[dot]comodo[dot]com/index[dot][dot][dot]cle/View/637/37/
Запоролся на 4-ом пункте
Цитата:

SSLEngine on
SSLCertificateKeyFile /etc/ssl/ssl.key/server.key
SSLCertificateFile /etc/ssl/ssl.crt/yourDomainName. crt
SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName. ca-bundle ***

Этого файла и каталога и в помине нет.
Решил обратится к другому источнику:
http://help[dot]ubuntu[dot]ru/wiki/apache_и_https
Там я начала с пункта: Настройка Apache (потому-что SSL уже имеется)
Но и там я тоже запоролся, вот здесь:
Цитата:

# Публичный сертификат сервера
SSLCertificateFile /etc/ssl/certs/server.pem
# Приватный ключ сервера
SSLCertificateKeyFile /etc/ssl/private/server.key

Те 2 файла, которые мне прислали, другого формата: *.crt и *.ca-bundle

Помогите пожалуйста, вообще не понимаю что делать.
(Добавление)
Еще вопрос:
Если "server.key" компания (выдающая сертификаты) не выслала, то значит его я должен сам сгенерировать, или что?
 
 Top
Viper
Отправлено: 17 Ноября, 2015 - 09:49:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Немного теории.

Вам нужно 3 файла.
1. Сертификат от CA(центр сертификации). Содержит сертификат для вашего сервера.
2. Сертификат bundle от того же CA. Содержит сертификат(ы) СА стоящих выше. Смотрим скрин. Т.е. в ca-bundle будут сертификаты rapidssl и geotrust исходя из скрина.
3. Нужен приватный ключ который вы генерили в самом начале, т.е. до CSR.

В /etc/ssl/ создаете 3 папки(или там где вам удобнее).
1. ssl.crt - сюда будем складировать все сертификаты выданные для вашего сайта(включая bundle). Расширения у файлов - .crt Если .pem то переименуйте.
2. ssl.csr - в этой папке храним запросы созданные для CA.
3. ssl.key - тут храним наши приватные ключи.
К этим папкам доступ должен быть ограничен. Ни в коем случае не разрешайте доступ для web.

Далее в конфиге SSL указываете

CODE (htmlphp):
скопировать код в буфер обмена
  1. Listen 443
  2.  
  3. SSLProtocol all -SSLv3
  4. SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
  5. SSLHonorCipherOrder on
  6. SSLCompression off
  7.  
  8. SSLUseStapling on
  9. SSLStaplingResponderTimeout 5
  10. SSLStaplingReturnResponderErrors off
  11.  
  12. Header always set Strict-Transport-Security "max-age=31536000"
  13.  
  14. SSLStaplingCache "shmcb:var/logs/www/ocsp_scache(128000)"
  15.  
  16. SSLPassPhraseDialog  builtin
  17.  
  18. SSLSessionCache "shmcb:var/logs/www/apache_ssl_scache(512000)"
  19. SSLSessionCacheTimeout  300


Пути меняете на свои.

Далее в этом же вайте прописываете конфигурацию для ваших vitualhosts которые будут работать по ssl.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <VirtualHost _default_:443>
  2. DocumentRoot "var/www/vhosts/sitename/public_html"
  3. ServerName sitename:443
  4. ServerAdmin admin@sitename
  5.  
  6. ErrorLog "var/www/logs/sitename_apache_error.log"
  7. TransferLog "var/www/logs/sitename_apache_transfer.log"
  8.  
  9. SSLEngine on
  10.  
  11. SSLCertificateFile "etc/ssl/ssl.crt/sitename.crt"
  12. SSLCertificateKeyFile "etc/ssl/ssl.key/sitename.key"
  13. SSLCertificateChainFile "etc/ssl/ssl.crt/sitename-ca.crt"
  14.  
  15. <FilesMatch "\.(cgi|shtml|phtml|php)$">
  16.     SSLOptions +StdEnvVars
  17. </FilesMatch>
  18. <Directory "etc/apache/cgi-bin">
  19.     SSLOptions +StdEnvVars
  20. </Directory>
  21.  
  22. BrowserMatch "MSIE [2-5]" \
  23.          nokeepalive ssl-unclean-shutdown \
  24.          downgrade-1.0 force-response-1.0
  25.  
  26. CustomLog "var/www/logs/sitename_ssl_access.log" \
  27.           "%h %l %u %t %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
  28.  
  29. </VirtualHost>


Обратите внимание на SSLCertificateChainFile в этой опции указан bunde.
Ну и последнее... Вам нужно убрать из приватного ключа пароль.
Сделайте копию файла ключа и сохраните в надежном месте.
Далее выполните
CODE (htmlphp):
скопировать код в буфер обмена
  1. openssl rsa -in server.key -out server1.key


И этот server1.key должен быть по пути SSLCertificateKeyFile.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB