ジオトラストのSSL証明書を買いました。

早速自分のサーバのバーチャルホストのなかに
設定しました。が、https:〜でアクセスすると404エラーがでてしまいます。httpd.confの設定が悪いのでしょうか?

<VirtualHost 123.45.67.89>
DocumentRoot /var/www/hogehoge/htdocs/
ServerName hogehoge.jp
SSLCertificateFile /etc/httpd/conf/ssl.crt/hogehoge.jp.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/hogehoge.jp.key
</VirtualHost>

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:hykw No.1

回答回数12ベストアンサー獲得回数0

ポイント10pt

URL はダミーです。

<VirtualHost 123.45.67.89:443> にすると

解決するかと。

id:palo No.2

回答回数124ベストアンサー獲得回数14

ポイント10pt

http://www.atmarkit.co.jp/flinux/rensai/apache08/apache08b.html

バーチャルホストによる複数サイトの同時運用(2/2)

バーチャルホストにはIPベースとNAMEベースがありますね。

もし、サーバがひとつのIPしかもっていないNAMEベースのバーチャルホストなら、SSLは使用できません。

それはよろしいでしょうか。

id:ymch No.3

回答回数36ベストアンサー獲得回数5

ポイント10pt

WEBサーバはApache1.xxでmod_sslを使うといらっしゃるということでよろしいのですか?

まず、httpsはポート443を利用しますので…、

<VirtualHost 123.45.67.89> → <VirtualHost 123.45.67.89:443>

…です。指定無しではポート80になってしまいますので、当然ながらNot Foundになります。

それから、mod_sslが有効になっていますか?

SSLのVirtualHost設定にはhttpd.confで、少なくとも以下の様になっている必要があります。

<IfDefine HAVE_SSL>

LoadModule ssl_module modules/libssl.so # ←この行がコメントアウトされていたら、それを外す

</IfDefine>

<IfDefine HAVE_SSL>

Listen 443 # ←443をListenしていないと絶対に不可能です。

SSLSessionCache shm:/var/cache/ssl_gcache_data(524288)

<VirtualHost 123.45.67.89:443>

DocumentRoot /var/www/hogehoge/htdocs/

</VirtualHost>

</IfDefine>

もちろん、設定後はApacheを再起動して下さい。

URLにご紹介したサイトはかなりわかりやすく解説されていらっしゃいますので、そちらも(←いや、むしろそちらを)参考にしてみてはいかがでしょうか…(^_^;)

id:ymch No.4

回答回数36ベストアンサー獲得回数5

ポイント40pt

paloさんが「サーバがひとつのIPしかもっていないNAMEベースのバーチャルホストなら、SSLは使用できません。」とおっしゃっていますが、httpsを使うVirtualHost同士でIPアドレスとポートが重ならなければ大丈夫です。以前、Apacheのメーリングリストで話題が上っていた様な記憶があります。

SSLDisable

NameVirtualHost 123.45.67.89:80

<VirtualHost 123.45.67.89:80>

ServerName www.hogehoge.jp

:

:

</VirtualHost>

<VirtualHost 123.45.67.89:80>

ServerName www2.hogehoge.jp

:

:

</VirtualHost>

<VirtualHost 123.45.67.89:443>

ServerName www.hogehoge.jp

SSLEnable

:

:

</VirtualHost>

この様にすれば…

…の全てがアクセス可能です。もちろん

ではSSLが有効になります。

ただし、IPアドレスがひとつしかない場合は、ポート443を指定するhttpsなVirtualHostはひとつしか定義できません。

」みたいな抜け道はあります…。

id:Tariq

ありがとうございます!

2004/08/05 05:23:18
id:naguro No.5

回答回数36ベストアンサー獲得回数1

ポイント10pt

http://www.apache.org/

Welcome! - The Apache Software Foundation

<VirtualHost 123.45.67.89> → <VirtualHost 123.45.67.89:443> した上で、その下の行に、

SSLEngine on

という行を入れてもダメですか?

もっとも、apacheがSSL対応でコンパイルされている必要がありますが。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません