dポイントプレゼントキャンペーン実施中!

現在、以下のようなURLで証明書を取得し、サイトを運営しております。
http://mydomain.example.jp/
https://mydomain.example.jp/

VirtualHostで動かしている関係上、
http://mydomain.example.jp:443/
というリクエストが来ると「Bad Request Error 400」とブラウザに表示されます。
何らかの方法で、これを表示させずに本来のページにリダイレクトするなどの方法はございませんでしょうか?

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

環境:CentOS4.5 Apache2

A 回答 (4件)

No.3です。



>そのままリダイレクト、という形にはなってくれないようです。
URL書いてもリダイレクトされないんですね。てっきりリダイレクトしてくれるものと思ってました。

>もしやり方に間違いがあれば、ご指摘ただ蹴れば幸いです。
ならば、リダイレクト用のHTML(metaタグのrefreshを利用したり、JavaScriptで飛ばすなど)を作って、それを指定してあげればいいんじゃないでしょうか?
    • good
    • 0

ErrorDocumentディレクティブでエラーコードが400の時のリダイレクト先を指定してみてはどうでしょう?



参考URL:http://httpd.apache.org/docs/2.0/mod/core.html#e …

この回答への補足

httpd.confに記述する形で試してみました。
ErrorDocument 400 http://example.jp/

すると

Found

The document has moved here.


となり、[here]にその指定した物がリンクされます。
そのままリダイレクト、という形にはなってくれないようです。もしやり方に間違いがあれば、ご指摘ただ蹴れば幸いです。

補足日時:2007/09/27 03:50
    • good
    • 0

#1です。

補足拝見しました。

http://mydomain.example.jp:443/https://mydomain.example.jpへ変換するだけなら、
httpd.confの中で、
<VirtualHost_default_:443>
Redirect / https://mydomain.example.jp/
</VirtualHost>
というような記述をすることで実現できそうです。

ただ、検索エンジンからのリクエストというところが気にかかります。ホームページの内容がわかりませんのでなんともいえませんが、
暗号化通信をするページへ検索エンジンからのダイレクトなアクセスを受け入れるということですよね。
内容やセキュリティ的に問題が無いかどうか検討して実施されることをお勧めします。

参考にしてください。
    • good
    • 0
この回答へのお礼

結果的には、なぜかうまくいきません。

ドメインのみ置換してそのまま記述した場合、
/etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: Syntax error on line 1057 of /etc/httpd/conf/httpd.conf:
Expected </VirtualHost_default_:443> but saw </VirtualHost>
となってしまいます。

_default_ではなく<VirtualHost*:443>に変更したところ、
Expected </VirtualHost*:443> but saw </VirtualHost>
というエラーが起き、起動しません。

次に、以下のページで解説されていた、NameVirtualHostと併記する形を取りました。
http://pascal.orz.cn/muse/pascal/336.html;jsessi …
Invalid command 'NameVirtualHost*:443', perhaps mis-spelled or defined by a module not included in the server configuration
となり、立ち上がりません。

NameVirtualHost *:443
<VirtualHost*:443>
Redirect / https://example.jp
</VirtualHost>

と記述したところやっと立ち上がりました。が、
http://mydomain.example.jp:443/​にアクセスしても以前と同じ状態で、
https://mydomain.example.jpjpへ転送されません。何かアドバイスいただけませんでしょうか、よろしくお願いいたします。

お礼日時:2007/09/27 03:58

バーチャルホストということですが、質問者様が管理運営されているサーバでしょうか。


レンタルサーバの場合は詳細変更は難しいかもしれません。
まず443番ポートを閉じている理由はなんでしょうか?

質問者様の自サーバであればセキュアポートを開ければ済むわけですが
なんらかの理由で閉じているのであれば443ポートをポートフォワーディンングしてリダイレクトする方法が考えられます・・・。

とここまで書いたのですが、
>​http://mydomain.example.jp:443/
だと確かに正規のリクエスト要求ではないように思えます。
そのリクエストは正常なリクエストなのでしょうか?

補足していただければもう少しマシな回答ができると思います。
本来のページというのがどのページを指しているのかもあわせて補足していただけると助かります。

この回答への補足

はい、私が管理しているので、自由に設定を変えることが出来ます。
httpsでの接続の時はPort443でSSL暗号化通信をしているので、閉じている事はありません。
Port443には暗号化通信ではない生の通信は無いとApacheは考えているためにBad Requestとなるのではないか、と考えております。

http://mydomain.example.jp:443/
というようなアクセスは想定していないのですが、検索エンジンからそのようなリクエストが来てしまいます。その場合には
https://mydomain.example.jp
に飛ばしたいのですが、どのような設定をすればよろしいでしょうか。

お手数をお掛けしますが、アドバイスお願いいたします。

補足日時:2007/09/25 21:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!