Как легко развернуть HTTPS в Ubuntu 10.04?
У меня есть веб-сервер Apache, работающий на Ubuntu 10.04, и я хотел бы переключить все на HTTPS.
2 ответа
Apache2 делает это очень легко с помощью дополнительных инструментов, поставляемых вместе с ним. Если у вас установлен пакет apache2-common, вы можете включить mod_ssl
модуль (требуется для HTTPS) в одной простой команде:
sudo a2enmod ssl
Apache2 также включает в себя команду, которая поможет вам легко создавать самозаверяющие сертификаты, называемые apache2-ssl-certificate
, Создайте свой сертификат для сервера, как показано ниже, или используйте сертификаты, приобретенные через доверенный корневой центр сертификации ( Verisign, Entrust, Thawte и т. Д.).
sudo apache2-ssl-certificate -days 365
Имейте в виду, что пользователи будут получать это печально известное предупреждение при просмотре вашего сайта, если вы используете самозаверяющий сертификат:
Используйте следующие 4 утверждения в вашей конфигурации Apache (/etc/apache2/sites-available/default
) или директива VirtualHost (ниже DocumentRoot
) чтобы включить SSL Engine для этого конкретного сайта:
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/apache2/ssl/certs/apache.crt
SSLCertificateKeyFile /etc/apache2/apache-ssl/apache.pem
SSLOptions +StrictRequire
заставляет SSL-связь только для этого конкретного сайта. SSLCertificateFile
а также SSLCertificateKeyFile
укажите места для вашего SSL-сертификата и соответствующий ему ключ.
Убедитесь, что мы слушаем порт 443, изменив /etc/apache2/ports.conf
включить Listen
директива:
echo "Listen 443" >> /etc/apache2/ports.conf
Наконец, вы должны перезапустить Apache2, чтобы инициировать изменения:
sudo /etc/init.d/apache2 restart
Дополнительное удовольствие:
Настройте HTTP-запросы на порт 80 для перенаправления на порт 443 с mod_rewrite
,
Примечание:
Некоторые из этих данных взяты из прошлого опыта работы с системами Debian/Ubuntu, для самых точных инструкций на веб-сайте Ubuntu есть руководство по 10.04.
Я не говорю вам, как это сделать, это выходит за рамки этого форума IMO(1). Я говорю только то, что, я думаю, ты можешь сделать.
Там действительно не легкий способ сделать это. Вы действительно должны немного знать о конфигурации Apache и копаться в файлах конфигурации. В дополнение к этому вам нужен сертификат SSL
Самый простой способ - сказать вашему веб-серверу прекратить прослушивание порта 80(2) и прослушивать только порт 443. Лучшим решением было бы сделать, чтобы apache перенаправил все соединения с порта 80 на порт 443.
(1) И вне моей компетенции
(2) Или заблокируйте порт 80 в вашем брандмауэре