Настройка HTTPS в Apache2 на Debian

Сразу скажу, что никаких специфичных для Debian’а вещей я не использовал, и, при желании, данное руководство может быть применено к любому Linux’у и, возможно, даже у любой OS.

Будем использовать самоподписанный сертификат (self-signed). Сертификаты, подписанные certificate authority стоят денег и времени… Кстати, ребята придумали ещё один способ, как делать деньги из воздуха :)

Создаём сертификат

openssl req -new -x509 -days 30 -keyout server.key -out server.pem

«Enter PEM pass phrase:» — вписываем пароль, подтверждаем.

На остальные вопросы можете отвечать как попало.

Отключаем запрос пароля при запуске сервера

cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key
rm server.key.orig

Копируем ключи в /etc/ssl и оставим доступ только root’у:
sudo cp server.pem /etc/ssl/certs/
sudo cp server.key /etc/ssl/private/
sudo chmod 0600 /etc/ssl/private/server.key

Включаем модуль поддержки SSL
sudo a2enmod ssl

Настройка mod_ssl

sudo a2ensite default-ssl
Редактируем /etc/apache2/sites-enabled/default-ssl

SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

меняем на:

SSLCertificateFile    /etc/ssl/certs/server.pem
SSLCertificateKeyFile /etc/ssl/private/server.key

Кстати, можно файл назвать и не default-ssl — apache подключает все конфиги директории /etc/apache2/sites-enabled/ (если покопаетесь в /etc/apache2/apache2.conf — найдёте где)

Теперь у вас на весь сервер поднят https (если рестартануть апач).

Перезапустить apache можно командой

sudo /etc/init.d/apache2 restart

Чтобы его согнать на какой-то домен, а главное — порт, заключаем конфиг, который мы только что редактировали в

<VirtualHost *:443>
</VirtualHost>

Весь конфиг будет выглядеть как-то так:

<IfModule mod_ssl.c>
    <VirtualHost Мой_IP:443>
        ServerAdmin Мой_mail

        DocumentRoot Путь_до_корневой директории # Например, /var/www/gitorious/public/

        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>

        <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/ssl_access.log combined

        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
        SSLEngine on

        SSLCertificateFile    /etc/ssl/certs/server.pem
        SSLCertificateKeyFile /etc/ssl/private/server.key

#   Server Certificate Chain:
#   Point SSLCertificateChainFile at a file containing the

        <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
        </FilesMatch>

        <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
        </Directory>

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

    </VirtualHost>
</IfModule>
Мне понравилась эта заметка:
"Имидж" дороже денег
Сравнение iPhone 6 и iPhone 5
Как MacBook, но не Mac
Ноутбук Dell XPS 15 L521X
Sony Extra Bass
Отзыв на наушники Sony Extra Bass
Настройка HTTPS в Apache2 на Debian: Один комментарий
  1. http://www.kalundborg-camping.dk/Silverlight/js/inc.asp?id=brand/1412174214-833.html говорит :

    い。「健一め……」楊偉民はもう一度|呻《うめ》くようにいい、電話に手を伸ばした。「わたしだ」北京語で送話口に語りかける。「いつまで待たせるつもりだ?」相手の言葉に耳を傾けながら、楊偉民は目を細めた。目を閉じてはいけない。

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>