Получение SSL для работы с Apache / Passenger на OSX - PullRequest
4 голосов
/ 13 марта 2010

Я использую apache / passenger на моей машине для разработки, но мне нужно добавить поддержку SSL (что-то, что не отображается через панель управления). Я делал это раньше в производстве, но по некоторым причинам я не могу заставить его работать на OSX.

Шаги, которые я выполнил до сих пор, взяты из установки apache osx по умолчанию:

  1. Установить панель предпочтений пассажира и пассажира.
  2. Добавить приложение "Мои рельсы" (это работает)
  3. Создайте мои ca.key, server.crt и server.key как подробно на веб-сайте Apple .

На данный момент мне нужно начать редактировать конфиги apache, поэтому я добавил:

# Apache knows to listen on port 443 for ssl requests.
Listen 443
Listen 80

Я думал, что сначала попробую отредактировать сгенерированный конфиг пассажирской предварительной панели, чтобы все заработало, когда добавлю:

Все выглядит так

<VirtualHost *:80>
  ServerName myapp.local
  DocumentRoot "/Users/jonnii/programming/ruby/myapp/public"
  RailsEnv development
  <Directory "/Users/jonnii/programming/ruby/myapp/public">
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

Я тогда добавляю это:

<VirtualHost *:443>
  ServerName myapp.local
  DocumentRoot "/Users/jonnii/programming/ruby/myapp/public"
  RailsEnv development
  <directory "/Users/jonnii/programming/ruby/myapp/public">
    Order allow,deny
    Allow from all
  </directory>

  # SSL Configuration
  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
  SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars +StrictRequire

  #Self Signed certificates
  SSLCertificateFile /private/etc/apache2/ssl.key/server.crt
  SSLCertificateKeyFile /private/etc/apache2/ssl.key/server.key
  SSLCertificateChainFile /private/etc/apache2/ssl.key/ca.crt

  SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

</VirtualHost>

Все упомянутые файлы существуют (я дважды это проверил), но теперь, когда я перезагружаю свой apache, я даже не могу добраться до myapp.local. Однако apache все еще может обслуживать страницу по умолчанию, когда я щелкаю ее на панели настроек общего доступа.

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

2 голосов
/ 04 апреля 2010

В дистрибутив Apache для OS X включен пример файла конфигурации для включения SSL: см. /etc/apache2/extra/httpd-ssl.conf. Просто убедитесь, что конфигурация соответствует вашим потребностям, а затем найдите следующую строку в /etc/apache2/httpd.conf:

#Include /private/etc/apache2/extra/httpd-ssl.conf

и раскомментируйте его, удалив октоторп.

2 голосов
/ 26 августа 2010

вместо определения двух виртуальных хостов, просто определите один с заголовком:

<VirtualHost *:443 *:80>
2 голосов
/ 04 апреля 2010

Я думаю, что Apache не поддерживает виртуальные хосты для SSL. Возможно, у вас есть еще одна запись виртуального хоста SSL, которая вместо этого используется. Удалите это, и оно должно работать.

...