Top過去ログ目次掲示板

作成日:2007年05月24日 作成:おやじ
掲示板で過去に質問された内容です。

No.6970 Apache+SSLの設定でhttp接続できなくなってしまう


No.6970 投稿時間:2007年05月24日(Thu) 19:24 投稿者名:さとう URL:
タイトル:Apache+SSLの設定でhttp接続できなくなってしまう

はじめまして。
SUSE9の再インストールでApacheの設定を行っております。
SSLを使用するように設定中ですが上手く動かず悩んでおります。
過去ログに似た現象があったので参考にいろいろ試してみたのですが
解決できず、お知恵を拝借できればと思います。

[現象]
Apacheを「-D SSL」オプション付きで起動するとhttpsポートの
接続は行えるが、httpポートの接続がエラー400となってしまう。

[設定内容]
vhost-ssl.confの設定
ServerName xxx.xxx.com:443
ServerAdmin webmaster@xxx.xxx.com

SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key

YaSTのHTTPサーバ設定
HTTPサーバモジュールでsslを「有効」に設定

YaSTの/etc/sysconfigエディター
Network-WWW-Apache2-APACHE_SERVER_FLAGSに「-D SSL」を設定


この状態でApacheを起動しました。

https://xxx.xxx.com/ は正常に表示されます。
http://xxx.xxx.com/  はApacheのエラー400が表示されます。

このエラーのときaccess_logは
アドレス - - [タイムスタンプ] "GET /" 400 985 "-" "-"
となっております。

nmapで確認するとポートは開いているのですが......。
以前もSSLはハマったのですが、その経験を生かせず今回もハマっています。

よろしくお願いいたします。


No.6972 投稿時間:2007年05月26日(Sat) 11:36 投稿者名:おやじ URL:
タイトル:思い当たるものがありません。

> [現象]
> Apacheを「-D SSL」オプション付きで起動するとhttpsポートの
> 接続は行えるが、httpポートの接続がエラー400となってしまう。
>
> [設定内容]
> vhost-ssl.confの設定
> ServerName xxx.xxx.com:443
> ServerAdmin webmaster@xxx.xxx.com
>
> SSLCertificateFile /etc/apache2/ssl.crt/server.crt
> SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
>
> YaSTのHTTPサーバ設定
> HTTPサーバモジュールでsslを「有効」に設定
>
> YaSTの/etc/sysconfigエディター
> Network-WWW-Apache2-APACHE_SERVER_FLAGSに「-D SSL」を設定
>
>
> この状態でApacheを起動しました。
>
> https://xxx.xxx.com/ は正常に表示されます。
> http://xxx.xxx.com/  はApacheのエラー400が表示されます。
>
> このエラーのときaccess_logは
> アドレス - - [タイムスタンプ] "GET /" 400 985 "-" "-"
> となっております。

普通はデフォルトからHPに書いてある程度の変更なら問題ないはずなので、いろいろ弄ったため、全体の設定に不整合があるからと思います。
上記エラーは、コピペミスでないなら、HTTPバージョンが無いためのものです。普通なら、下記のように「HTTP/1.1」とあるはず。

アドレス - - [タイムスタンプ] "GET / HTTP/1.1" 200 985 "-" "-"

これだけみると、クライアント側がおかしいように見えますが、恐らくサーバ側で設定がおかしいのでこうなっているのだと思いますが、思い当たるものがありません。
デフォルトの設定から最低限のものだけ設定して、切り分けたらどうでしょうか?


No.6973 投稿時間:2007年05月27日(Sun) 12:08 投稿者名:さとう URL:
タイトル:解決できました

お世話になっております。何とか解決できましたので報告をいたします。

原因は設定ミスにあったようです。YaSTが自動的に作成したと思われる設定と
こちらで設定した内容がバッティングして正常動作しなかったようです。

(1)default-server.confにSSLに関する記述が追加され
これがvhost-ssl.confの設定内容と重複、不整合を起こす。

(2)listen.confにバーチャルホストに関する記述が追加され
これがvhost.confの設定内容と重複、不整合を起こす。

この2点が原因だったようで整理したところで正常に動作するようになりました。
YaSTは便利なツールですが、これだけで全ての設定ができるようにはなって
いないので、手修正を加えた場合などの整合性がいつも気になってはいました。
よく注意して使いたいと思います。

どうもありがとうございました。


No.6977 投稿時間:2007年05月28日(Mon) 21:13 投稿者名:おやじ URL:
タイトル:config設定にはむいていませんね。

YaSTとかWebminとかいろいろな設定ツールがありますが、これらはある想定する使い方をベースにconfigを自動生成するものなので、ツールでの設定がconfigにどのように反映されるかわからないので、手動でconfigを変更するとコンフリクトを起こしたり、論理矛盾が当然のこととして発生します。予めconfigへの展開ロジックが作りこまれているため、想定外の設定はこれらのツールではできないので、おやじは絶対に設定ツールとしては利用しません。
おやじはパッケージ管理を中心に使用しています。raidを動かしていてうっかりYaSTでブートローダの設定なんか触ってしまうと、上がらなくなってしまうことがあるので要注意です。


No.6982 投稿時間:2007年05月30日(Wed) 01:19 投稿者名:さとう URL:
タイトル:ありがとうございます

おっしゃるとおり便利な部分もありますがコンフリクトの危険性は
常にはらんでいますね。これから慎重に使うよう気をつけます。

各モジュールの設定や過去ログなど参考にさせていただき大変助かりました。
再インストールを機に自分自身も改めて勉強になりました。
ありがとうございました。



掲示板▲頁先頭