- - PR -
Apache+Opensslがみれない
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-04-23 11:01
現在ApacheとOpensslでの連携をやっているのですが、httpは普通に表示されるのですが、SSLのほうがどうもうまくWebが表示されません。
ssl.confの設定がおかしいのでしょうか。 DocumentRootなどの設定はきちんとしたのですが・・・ 起動について /etc/rc.d/init.d/httpd startssl で起動しています。 Redhat9 Apache/2.0.53 (Unix) mod_ssl/2.0.53 OpenSSL/0.9.6c PHP/4.3.10 どなたかわかりそうな方お願いします。お助けください。 | ||||||||
|
投稿日時: 2005-04-23 12:10
どなたもわかりそうに無いと思います。 …だけでは何ですので。 問題点をまとめるなり、判断材料を提供して貰えなければ、誰もアドバイスできないでしょう。 最低限、 ・以前は問題なかったか。そうであれば、最近行った変更作業等は無いか ・エラーログ等に何か情報が無いか ・アプリケーションよりも下のレイヤではどうか。 (期待したポートが開かれているか、ネットワーク通信がフィルタされていないか等) ・そもそも設定ファイルの内容は (長ければできる範囲で要約する) ※サーバ上にあるデータを載せる時は、自身の判断で意訳するのはなるべく避け、具体的にありのまま書く。 位は考えて頂かないと…。 | ||||||||
|
投稿日時: 2005-04-23 20:44
angelさんありがとうございます。
すみませんでした。あせりだけが先走って肝心なことを書き忘れてしまいました。 新規でsslサーバを構築しておりまして、以前からhttpサーバは稼動しておりました。 以前からあったhttpサーバと連動してsslサーバを構築しようと考えたのですが、うまくいかないということです。 エラーについては、 Syntax error on line 108 of /usr/local/etc/apache2/ssl.conf: SSLCertificateFile: file '/usr/local/etc/apache2/ssl.crt/server.crt' does not exist or is empty のようなエラーが出ていたので、 http://www.fkimura.com/courier-imap2.html を参考に解消いたしました。 エラーログには、RSA server certificate CommonName (CN) `hogehoge' does NOT match server name!? と記録されています。 ポートについてはきちんと netstat -lコマンドにて確認したところ tcp 0 0 *:https *:* LISTEN と表示されました。 設定ファイルについては ssl.conf <VirtualHost _default_:443> # General setup for the virtual host DocumentRoot "/home/hogehoge/public_html/" ServerName www.hogehoge.jp:443 ServerAdmin hogehoge@odn.ne.jp ErrorLog /usr/local/apache2/logs/error_log TransferLog /usr/local/apache2/logs/access_log その他はデフォルト設定です。 多分エラーログに記載されているca認証のhost名が一致しないといっていると思われますが、ca認証の作り方がうまくなかったのでしょうか。 SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key 上記の二つだと思うのですが、どうもCAの作り方がよくわかりません。 | ||||||||
|
投稿日時: 2005-04-24 00:03
こんばんは。
SSL対応のApacheを動作させるのには、CA はとりあえず関係ないと思います。 ただ、HTTPS に関しては、証明書の CN とサーバドメイン名は一致させるのがお約束なので、それで警告が出ているのでしょう。動作自体はできるように思いますが…。 証明書関連のオペレーションが掴めないなら、ベリサインのテスト証明書を使って、一般の SSL サイト運営のシミュレートをする手もあると思います。 (ベリサインのサイトには、一連のオペレーションが説明してあります) …それで、まずは SSL 通信ができるかどうかですよね? 問題は、ページが表示されないというのがどういう内容かに依りますね。 (まさか、netfilter/iptables でフィルタされてたなんて、言わないで下さいよ) コマンドレベルで通信を試すだけなら、openssl コマンドでもできますから、試してみるのも手でしょう。 $ openssl s_client -connect ホスト名:ポート番号 で接続できれば、HTTPリクエストを送信して反応を見ることもできますから。 ちなみに、@IT のサイトで SSL通信を試みた時の例です。
※太字はこちらから入力した内容。改行はそのまま改行(Enter)です。 ※対応するコンテンツが無いので、404エラーになってますが、まぁ通信はできていますね。 以上、ご参考まで。 追記:念のため、ですが、私はオレオレ証明書(独自のCAで発行した証明書)はお奨めしません(但し条件に依る)。このことについては、高木浩光氏のblogが非常に勉強になると思います。 [ メッセージ編集済み 編集者: angel 編集日時 2005-04-24 00:19 ] | ||||||||
|
投稿日時: 2005-04-24 06:54
tailコマンドか何かでaccess_logとerror_logを監視しながら、
httpアクセス(成功するんですよね?)とhttpsアクセスを行って、 その違いを見てみたら如何でしょうか?
と言われましても、聞かれる方は困ってしまいます。 エラーコードや出力されるエラーメッセージを記述して頂かないと 何が原因でエラーになっているのかの手がかりもわかりません。
DocumentRootは最後の「/」はつけてはいけないという仕様です。 ApacheドキュメントのDocumentRootの項目の最終行をご参照ください。 | ||||||||
|
投稿日時: 2005-04-24 08:13
utaさんangelさんありがとうございます。
ちょっと皆さんに示していただいたことをやってみます。 Documentrootの最後には/はつけない・・・ すっかり忘れていました。直します。 |
1