WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート 2011年10月

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

linux+apache+SSL(open ssl)+mod_rewriteの設定でハマったので書いておきます。

SSLの設定はこちらのサイトを参考にさせて頂きました。

ハマったのは、対象サーバーで既に多数の名前ベースのバーチャルホストを運用していたことです。そもそも、そのあたりの仕組みをあまり理解していなかったのが原因ですが・・・

名前ベースのバーチャルホストでは

NameVirtualHost *:80
このようにして、まず名前ベースで使うIPアドレス(ポート)を指定して
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
こんな感じでDocumentRootとServerNameのペアを登録していきます。他のサイトは80のまま運用したいので、このNameVirtualHostを443に変えてしまうわけには行きません。

名前ベースのバーチャルホストはIPベースと併用できます。
<VirtualHost 192.168.0.2:443>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
SSL........
</VirtualHost>
と別途書いてやります。

yumでmod_sslを入れたときは注意が必要です。
/etc/httpd/conf.d/ssl.conf
ここに設定ファイルが自動で作成されるのでそちらを編集するか、読み込まないようにしましょう。

そのサイトはmod_rewriteを使用してindex.phpに全てを集めるような(ZendFrameworkのControllerのような)システムのサイトだったのですが、https://www.domain.tld/以外、下の階層が一切表示されません。

しばらく悩みましたが、なんてことはない、
<Directory "/www/domain">
AllowOverride All
</Directory>
.htaccessの上書きを許可するのを忘れてました。

また下らないことではまってしまった・・・

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。