Инсталирайте SSL сертификат на Apache Mod_SSL

Конфигуриране на Apache със SSL

Следващите инструкции предполагат, че искате да стартирате и защитен сървър (на порт 443) и обикновен сървър (на порт 80). Първо, трябва да конфигурирате сървъра да слуша на двата порта. Или редактирайте /etc/apache2/ports.conf (в Debian; това е включено в apache2.conf) или редактирайте /etc/apache2/apache2.conf директно да включва линиите:

Слушайте 80 Слушайте 443

След това редактирайте /etc/apache2/sites-enabled/yoursite за да използвате SSL настройките. Разделянето на обикновените и сигурни настройки на сървъра с помощта на VirtualHosts е най-лесният вариант по отношение на поддръжката. Всяка конфигурация извън секциите VirtualHosts (като настройка на ServerAdmin) ще се прилага както за VirtualHosts (така и за всички други).

Забележка: Започвайки с Apache 2.4.8, практиката за запазване на сървърния сертификат и междинната верига на сертификатите в отделни файлове е оттеглена. Както настоящите, така и остарелите методи са подробно описани в раздели за кликване по-долу.
Apache 2.4.8 или по-високаApache 2.4.7 или по-ниски

Версиите на Apache 2.4.8 и по-нови очакват сертификатът на вашия сървър да бъде свързан с междинни сертификати в един файл. За да изтеглите верижен файл от SSL.com, изберете Nginx връзка за изтегляне в акаунта на портала:

Nginx

Като алтернатива можете да обедините съществуващия си сертификат и междинните файлове с команда като следната:

$ cat /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

Добавете следния раздел към вашия конфигурационен файл:

# ===================================================== # SSL /TLS настройки # ================================================== = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine на SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key

Няколко бележки за тази конфигурация:

  • SSLEngine трябва да се активира, така че сървърът да използва SSL.
  • DocumentRoot задава коренната директория за този виртуален хост. Това означава, че можете да отделите защитено съдържание изцяло от обичайното съдържание.
  • SSLCertificateFile трябва да бъде зададено на мястото, където сте поставили файла със сертификата на вашия сървър и междинна верига.
  • SSLCertificateKeyFile трябва да бъде зададено на мястото, където сте поставили файла на личния си ключ.

Добавете следния раздел към вашия конфигурационен файл:

# ===================================================== # SSL /TLS настройки # ================================================== = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine на SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / sslnd- client.crt

Няколко бележки за тази конфигурация:

  • SSLEngine трябва да се активира, така че сървърът да използва SSL.
  • DocumentRoot задава коренната директория за този виртуален хост. Това означава, че можете да отделите защитено съдържание изцяло от обичайното съдържание.
  • SSLCertificateFile, SSLCertificateChainFile, намлява SSLCertificateKeyFile трябва да бъде зададено на местата, където съответно поставяте сертификата си, междинните и частните файлове.

За да стартирате обикновения сървър на порт 80, добавете следния раздел към конфигурационния файл:

NameVirtualHost *: 80 DocumentRoot "/ var / www / tvojeite" # Настройка на директория, опции и т.н. # Повечето от тези опции вероятно ще бъдат зададени извън секциите на VirtualHosts #.

След като запазите редактирания конфигурационен файл, рестартирайте уеб сървъра. Ако сте използвали пропуск при генериране на сертификата си, ще трябва да го въведете, когато бъде оспорен.

Тестване

Създайте основна страница index.html навсякъде, където се намира главната директория за вашия уеб сървър, ако все още нямате съдържание там.

След това насочете уеб браузъра си към https://www.yoursite.com. Трябва да видите SSL връзка отворена и страницата доставена. Ако използвате самоподписан сертификат, браузърът ви ще изведе предупреждение, което ви предупреждава, че самоличността на сървъра не може да бъде потвърдена. Можете да изберете да видите и приемете сертификата. Ако използвате външен сертификат, всичко трябва да се случи без намеса.

Уверете се също, че нямате достъп до защитеното съдържание чрез http: //. Ако опитате, трябва да получите съобщение за грешка.

Отстраняване на проблеми

Ако не работи както се очаква, първо проверете дали вашият сървър действително работи, използвайки ps -a | grep apache. Ако това не върне нищо, опитайте да го рестартирате и проверете за съобщения за грешки на терминала.

Също така проверете дали разрешенията за вашите ключови и сертификатни файлове са зададени правилно (вижте по-горе), както и разрешенията за вашия тестов HTML файл и неговата директория.

След това проверете регистрационните файлове. Трябва да проверите както дневниците на основния сървър, така и SSL регистрационните файлове, които сте настроили във вашия конфигурационен файл по-горе. Ако не получите нищо полезно, опитайте да промените стойността LogLevel в конфигурационния файл на Apache2 на „отстраняване на грешки“, рестартирайте Apache2 и тествайте отново. Това трябва да даде повече данни за регистрационния файл.

Ако използвате и редовен уеб сървър на порт 80, опитайте да извлечете тестова страница чрез http: //, а не https: //, за да идентифицирате дали проблемът е в уеб сървъра или в SSL връзката. Имайте предвид, че в настройката по-горе основната директория на уеб сървъра е различна за http: // и https: //, така че няма да имате (или не трябва!) Да имате достъп до същото съдържание. Ако вашата тестова страница в кореновата директория http: // работи добре, а тестовата ви страница в основната директория https: // не, това може да ви помогне да определите проблема.

Ако проблемът е в SSL връзката, полезен инструмент е s_client, който е диагностичен инструмент за отстраняване на проблеми TLS/ SSL връзки. Основното използване е: /usr/bin/openssl s_client -connect localhost:443, Има и много други опции, за които можете да проверите документацията. Ако получите съобщения за грешка, това би трябвало да ви помогне при намирането на проблема.

Благодарим ви, че избрахте SSL.com! Ако имате някакви въпроси, моля свържете се с нас по имейл на Support@SSL.com, обадете се 1-877-SSL-SECUREили просто щракнете върху връзката за чат в долната дясна част на тази страница.

Абонирайте се за бюлетина на SSL.com

Не пропускайте нови статии и актуализации от SSL.com

Бъдете информирани и защитени

SSL.com е глобален лидер в киберсигурността, PKI и цифрови сертификати. Регистрирайте се, за да получавате най-новите новини от индустрията, съвети и съобщения за продукти от SSL.com.

Ще се радваме на вашите отзиви

Попълнете нашата анкета и ни кажете какво мислите за скорошната си покупка.