Налаштування SSL з Apache під Lion


6

Виходячи з мого попереднього запитання (на що я відповів),

Налаштування OS X 10.7 Lion Server для обслуговування Rails Apps через Apache

... Зараз я хочу налаштувати SSL.

Знову ж таки, у мене є конфігурація працює штраф під Snow Leopard, але я хочу, щоб встановити це на новий i7 Mac Mini, так що працює Snow Leopard не є можливістю.

Я використовую названий віртуальний хост kludge, описаний у відповіді на посилання вище, але я не зміг отримати SSL.

Конфігурація Snow Leopard, яку я базую на моєму Lion config, наведена нижче.

Поради щодо налаштування еквіваленту під Lion були б дуже вдячні. Дякую.

<VirtualHost 10.0.1.1:80>
  ServerName bonk.example.com

  Redirect / https://bonk.example.com/

</VirtualHost>

<VirtualHost 10.0.1.1:443>
    ServerName bonk.example.com
    DocumentRoot "/Rails/deployed/bonk/current/public"
    RackEnv example_production
    RailsEnv example_production
    <Directory "/Rails/deployed/bonk/current/public">
      Order allow,deny
      Allow from all
      Options FollowSymLinks
    </Directory>

  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
  SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars +StrictRequire
  SSLCertificateFile /private/etc/apache2/server.crt
  SSLCertificateKeyFile /private/etc/apache2/server.key
  SSLCertificateChainFile /private/etc/apache2/ca.crt
  SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

  RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Ви пробували цей посібник від Apple? developer.apple.com/internet/serverside/modssl.html

Спасибі, але цей довідник цілком датований. У мене працює SSL під Snow Leopard, але Лев міняє речі зовсім небагато. Існують обхідні шляхи для іменних віртуальних хостів, але я не отримав SSL, що працює під Lion з такою налаштуванням.
Snips

Як ви це робите як власний сертифікат (центр сертифікації)?
Chase Holden

Процес такий самий (після створення власного сертифіката).
Snips

очевидно, це не зовсім те ж саме. Я створив свій власний CA, використовуючи додаток Apple Keychain Access, але це не означає, що я можу використовувати його з вищевказаним кодом. Будь ласка, опублікуйте відповідний синтаксис, якщо вмієте.
Chase Holden

Відповіді:


7

Створити ключ хоста

Спочатку створіть будинок для нових файлів SSL. Я використовую / etc / apache2 / ssl. Відкрийте вікно терміналу, перейдіть до нового каталогу та виконайте наступну команду для створення головного файлу хоста.

sudo ssh-keygen -f host.key

Створити файл запиту на сертифікат

Ця команда створює файл запиту на сертифікат. Файл запиту на сертифікат містить інформацію про вашу організацію, яка буде використана в сертифікаті SSL.

sudo openssl req -new -key host.key -out request.csr

Створіть сертифікат SSL

Створіть власний сертифікат SSL-сертифікату, використовуючи файл запиту.

sudo openssl x509 -req -days 365 -in request.csr -signkey host.key -out server.crt

Налаштуйте Apache

Створіть резервну копію в /etc/apache2/httpd.conf.

Додайте вміст /etc/apache2/extra/httpd-ssl.conf до /etc/apache2/httpd.conf.

У /etc/apache2/httpd.conf переконайтеся, що завантаження SSL включено (вилучіть #)

LoadModule ssl_module libexec/apache2/mod_ssl.so

Крім того, відредагуйте розділ SSL, щоб використовувати новий сертифікат.

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/host.key

Перевірте конфігурацію та перезапустіть Apache, щоб спробувати новий сертифікат.

sudo apachectl configtest
sudo apachectl restart

Завдяки Будинок Дінга і Метт Лангтрі для забезпечення більшої частини цього рішення.


Дякуємо за вашу відповідь, але це виглядає як стандартні інструкції для Snow Leopard (і попередніх). Ви пробували це на Леві? тому що я не думаю, що це працює: - /
Snips

Так. побіг він на лева, і це працює. налаштування спільного доступу не показують, що сервер увімкнено, але він є.
yanokwa

1

Проблема, описана вище, полягає в тому, що від apache потрібні паролі або фрази, які він не може отримати. Тому apache не буде запущено або запущено!

Необхідно створити a "без пароля" ключ хоста з цією командою:

openssl rsa -in host.key -out host.nopass.key

... і прямий ключ ssl apache host.nopass.key що він генерує.

Коли я зробив це, мій Лев Apache успішно працює.


Поправка Чейза працювала для мене! Потрібно було "sudo": sudo openssl rsa -у хості.key -out host.nopass.key
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.