Как настроить SSL в apache?

Я установил apache в RHEL 6. Все работает нормально. Все изменения и конфигурации должны быть сделаны для использования https: // localhost: 443 / .

Если я изменю «Слушаю 80» до 443, он выдает ошибку подключения SSL

«Ошибка 107 (net :: ERR_SSL_PROTOCOL_ERROR): ошибка протокола SSL».

2 Solutions collect form web for “Как настроить SSL в apache?”

Если вы используете apache2 , вам необходимо сделать следующее:

Шаг 1. Используйте OpenSSL для создания ключей, которые используются для защиты вашего сайта. Эти ключи используются при шифровании и расшифровке трафика на ваш безопасный сайт.

 $ openssl genrsa -out mydomain.key 1024 

Эта команда создаст 1024-битный закрытый ключ и поместит его в файл mydomain.key.

Шаг 2. Создайте собственный сертификат.

 $ openssl req -new -key mydomain.key -x509 -out mydomain.crt 

Шаг 3. Сохраните закрытый ключ в каталоге /etc/apache2/ssl.key/ и сертификат в каталоге /etc/apache2/ssl.crt/ .

Примечание . ssl.key должен быть ssl.key только для чтения.

Шаг 4: Теперь вам нужно отредактировать файл httpd.conf в /etc/apache2 .

Теперь этот файл должен содержать такой контент:

 NameVirtualHost *:80 NameVirtualHost *:443 Listen 443 <VirtualHost *:80> ServerAdmin webmaster@mydomain.com DocumentRoot /srv/www/htdocs/mydomain ServerName www.mydomain.com ServerAlias mydomain.com </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@mydomain.com DocumentRoot /srv/www/htdocs/mydomain-secure ServerName mail.mydomain.com SSLEngine on SSLCertificateFile /etc/apache2/ssl.crt/mydomain.crt SSLCertificateKeyFile /etc/apache2/ssl.key/mydomain.key </VirtualHost> <Directory /srv/www/htdocs/mydomain-secure> SSLRequireSSL </Directory> <VirtualHost *:80> ServerAdmin webmaster@mydomain.com DocumentRoot /srv/www/htdocs/mydomain ServerName mail.mydomain.com RedirectMatch permanent (/.*) https://mail.mydomain.com$1 </VirtualHost> 

Не меняйте Listen 80 to 443 в /etc/httpd/conf/httpd.conf . SSL настроен в /etc/httpd/conf.d/ssl.conf . На RHEL 6 SSL включен и прослушивается по умолчанию с самоподписанным сертификатом.

Вы можете перейти на сайт по умолчанию, используя SSL, только просматривая https://localhost (вам не нужно добавлять порт в конец URL-адреса).

Если вы хотите перенаправить все HTTP-запросы на HTTPS (что, как я полагаю, вы пытаетесь достичь), вы можете либо добавить постоянную переадресацию, либо использовать модуль Apache mod_rewrite .

Самый простой и безопасный способ – создать постоянную переадресацию. Включите именованные виртуальные хосты и добавьте директиву Redirect в VirtualHost в /etc/httpd/conf/httpd.conf .

 NameVirtualHost *:80 <VirtualHost *:80> ServerName localhost Redirect permanent / https://localhost </VirtualHost> 

Используя mod_rewrite , вы также создаете именованный виртуальный хост. Это не рекомендуемый метод, но он будет работать.

 NameVirtualHost *:80 <VirtualHost *:80> # Enable the Rewrite engine RewriteEngine On # Make sure the connection is not already HTTPS RewriteCond %{HTTPS} !=on # This rewrites the URL and forwards to https RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] </VirtualHost> 

Если вы хотите отключить SSL, закомментируйте эти строки в /etc/httpd/conf.d/ssl.conf и перезапустите Apache.

 LoadModule ssl_module modules/mod_ssl.so Listen 443 
  • 502 Ошибка прокси - запрос PUT для сервера MDM OSX через apache ProxyPass на ubuntu 14
  • Как использовать feh для открытия веб-изображения с самозаверяющим сертификатом
  • Что делать, если я не могу найти файл ssl.conf на сервере CentOS?
  • Как исправить зависание с помощью сглаживания sslv3?
  • Stunnel 5.4 на Centos
  • SSL-сертификаты ca-certificates.crt и ssl-cert-snakeoil.pem истек - что делать?
  • Как я могу обновить существующий .crt-файл с новым зашифрованным файлом rsa .key?
  • Дешифрование WeeChat не выполняется при чтении из сокета данных
  • CURL не будет подключаться к себе
  • сделать фатальную ошибку: openssl / sha.h: нет такого файла или каталога
  • Отключить SSLv3 В cURL?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.