はじめまして。
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はハマったのですが、その経験を生かせず今回もハマっています。
よろしくお願いいたします。
> [現象]
> 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 "-" "-"
これだけみると、クライアント側がおかしいように見えますが、恐らくサーバ側で設定がおかしいのでこうなっているのだと思いますが、思い当たるものがありません。
デフォルトの設定から最低限のものだけ設定して、切り分けたらどうでしょうか?
お世話になっております。何とか解決できましたので報告をいたします。
原因は設定ミスにあったようです。YaSTが自動的に作成したと思われる設定と
こちらで設定した内容がバッティングして正常動作しなかったようです。
(1)default-server.confにSSLに関する記述が追加され
これがvhost-ssl.confの設定内容と重複、不整合を起こす。
(2)listen.confにバーチャルホストに関する記述が追加され
これがvhost.confの設定内容と重複、不整合を起こす。
この2点が原因だったようで整理したところで正常に動作するようになりました。
YaSTは便利なツールですが、これだけで全ての設定ができるようにはなって
いないので、手修正を加えた場合などの整合性がいつも気になってはいました。
よく注意して使いたいと思います。
どうもありがとうございました。
YaSTとかWebminとかいろいろな設定ツールがありますが、これらはある想定する使い方をベースにconfigを自動生成するものなので、ツールでの設定がconfigにどのように反映されるかわからないので、手動でconfigを変更するとコンフリクトを起こしたり、論理矛盾が当然のこととして発生します。予めconfigへの展開ロジックが作りこまれているため、想定外の設定はこれらのツールではできないので、おやじは絶対に設定ツールとしては利用しません。
おやじはパッケージ管理を中心に使用しています。raidを動かしていてうっかりYaSTでブートローダの設定なんか触ってしまうと、上がらなくなってしまうことがあるので要注意です。
おっしゃるとおり便利な部分もありますがコンフリクトの危険性は
常にはらんでいますね。これから慎重に使うよう気をつけます。
各モジュールの設定や過去ログなど参考にさせていただき大変助かりました。
再インストールを機に自分自身も改めて勉強になりました。
ありがとうございました。