2010-03-13 29 views
4

我在我的開發機器上使用apache/passenger,但需要添加SSL支持(不通過控制面板公開的東西)。我在製作之前就已經完成了這個工作,但由於某種原因,我似乎無法在OSX上使用它。使用SSL與OSX上的Apache/Passenger配合使用

我已經按照到此爲止是從默認的Apache安裝OSX:

  1. 安裝乘客和乘客偏好設置面板。
  2. 添加我的導軌應用程序(此作品)
  3. 創建我的ca.key,server.crt和server.key作爲詳細的on the apple website

在這一點上,我需要開始編輯了apache的configs,所以我說:

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

我想我會嘗試編輯乘客PREF窗格中首先生成的配置使一切工作正常,當我添加:

它開始看起來像這樣

<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仍然可以爲默認頁面提供服務。

任何幫助將不勝感激。

+0

任何想法的人? – jonnii 2010-03-21 00:37:37

回答

2

我認爲Apache不支持SSL的虛擬主機。您可能在某處有另一個SSL虛擬主機條目,而是正在使用。刪除它,它應該工作。

2

Apache的OS X發行版包含用於啓用SSL的示例配置文件:請參閱/etc/apache2/extra/httpd-ssl.conf。只要確保配置適用於您的需求,然後找到下面的行/etc/apache2/httpd.conf

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

,並通過刪除octothorp取消其註釋。

2

而不是定義兩個虛擬主機,只需定義一個與頭:

<VirtualHost *:443 *:80>