Apache起動時にエラーが発生し、IEからのアクセスが遅くなる問題について

このQ&Aのポイント
  • ApacheをSSLで起動し、IEからアクセスすると反応が遅くなり、エラーログには多くのセグメンテーションフォルトが記録されています。
  • PHPからの出力に関連する問題かもしれませんが、インストールや設定に問題はありません。
  • OSはSolaris10であり、Apacheバージョン2.2.14とOpenSSLバージョン0.9.8lを使用しています。
回答を見る
  • ベストアンサー

Apache起動時にエラー

質問があります。 ApacheをSSLで起動し、IEからアクセスしようとしたら反応が遅く また、エラーログが大量に出ています。その後、表示ができませんと IEから出ています。 【ログ内容】 [notice] child pid XXXX exit signal Segmentation fault (11) また、Googleで調べたら、勘違いだったら申し訳ありません。 PHPからみで出るとかあったのですが、今回、とくにインストールしていません。知っている方が、いらっしゃったら教えてください。 環境としては、 OS Solaris10 Apache2.2.14とOpenSSL0.9.8lをソースでインストール 特に問題なくインストールできています。 切り分けで、OpenSSLをサンフリーからパッケージでインストールし Apacheをソースで再度、コンパイルしても現象は一緒でした。 OpenSSLの鍵・証明書の作成としては以下を実行 openssl genrsa -des3 -out server.key 1024 openssl rsa -in server.key -out server.key openssl req -new -key server.key -out server.csr -days 365  openssl x509 -in server.csr -out server.pem -req -signkey  server.key -days 365 httpd-ssl.confの設定 SSLCertificateFile /usr/local/apache2/conf/server.crt ↓ SSLCertificateFile /usr/local/apache2/conf/server.pem SSLCertificateKeyFile /usr/local/apache2/conf/server.key ↓(そのまま) SSLCertificateKeyFile /usr/local/apache2/conf/server.key http.confの設定 #Include conf/extra/httpd-ssl.conf ↓ Include conf/extra/httpd-ssl.conf 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#227025
noname#227025
回答No.3

参考 URL にある Apache のバグに該当するのではないでしょうか? パッチをあてる必要があるみたいですよ。

参考URL:
http://www.ossexpo.net/2009/11/solaris10-apache-2214segmentat.html
hironona
質問者

お礼

xinuさん、 助言ありがとうございました。 今、確認しているんですが、うまくパッチが当たらず エラーになっているので、新しい投稿で聞いてみます。 ありがとうございました。

その他の回答 (2)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

SIGSEGV (11) が送られたということはプログラム (httpd) に不具合 (バ グ) があるか、コンパイル時または実行時に想定外のリンクを行ったこと が考えられます。 本来なら最適化オプションを無効にしてデバッグオプションを有効にした 状態で再コンパイルし、出力された core ファイルからgdb などでバック トレースを取得し、原因を追っていく必要があります。 ただし、手順の不備によって問題が発生したのであればインストール手順 を提示されることで原因が分かるかもしれません。 質問者様がなぜ実際にやられたことやログ、出力内容などをを質問欄に書 き込みされないのか理解に苦しみます。

hironona
質問者

補足

entreeさん、 助言ありがとうがざいます。 >質問者様がなぜ実際にやられたことやログ、出力内容などをを質問欄に書 >き込みされないのか理解に苦しみます。 確かに、おっしゃるとおりですね。助言をしてもらえる立場に おいて、申し訳ありませんでした。 ログ、出力内容ないようは、Apacheのログしか見ていません。 [notice] child pid XXXX exit signal Segmentation fault (11) 他に、どこが見るところがあるば、教えてください。 後、実際にしたインストール手順は、下記の通りです。 OpenSSL Confiugureを実行する前に、パッチみたいなものを実行しています。 make testの際に、coredumpするので、PROBLEMS ファイルのワークアラウンドを適用しました。 ksh -f values.c gccを実行しています。 ./Configure solaris-x86-gcc shared -fPIC make make test make install Apache ./configure --enable-so --enable-mods-shared=all--enable-ssl --enable-modules="so ssl" --with-ssl=/usr/local/ssl --with-included-apr make makinstall 以上です。 また、足りないものやご指摘があれば、言ってください。 よろしくお願いします。

回答No.1

Apacheのconfigureオプションやhttpd.conf等がなければ何も分かりませんが? Virtualhostを使っていますか?それを使わないとどうなります?(httpのサービスは止めてみてhttpsのみにすると?) Virtualhostは結構依存モジュールがありますよ。それが足りないとそうなる可能性はあります。 他にもいろいろと考えられることはありますが、とりあえず、SSLで定番というとその辺でしょうか・・・ 後は関係ないですが、これ、意味が分かりません。 openssl genrsa -des3 -out server.key 1024 openssl rsa -in server.key -out server.key 暗号化したくないならはじめっから-des3をつけなければいいのでは? あとは、crtファイルをわざわざpemにしている理由も・・・

関連するQ&A

  • Apacheでhttpd-ssl.confエラー

    当方、windows7 32bitでwwwサーバを組んでいる超初心者です。 apacheは2.2.25、Active Perlは5.16.3.1で OpenSSLは1_0_1です。、 c/apache softoware Foundation c/perl c/openssl 以上の場所にインストールしています。 http://tako.jugem.cc/?eid=719 ここのサイトの説明通りにやりました。但し、openssl.cfg は c/apache softoware Foundation/apache2.2/conf/sslに入れましたが。 上記のサイトで > openssl req -config openssl.cfg -new -out ./ssl.key/server.csr 色々聞かれるので埋める とあり、色々埋めました。 Apacheのhttpd.confの変更、 httpd-ssl.confの変更も行いました。↓ SSLCertificateFile "C:/Apache Software Foundation/Apache2.2/conf/ssl/server.crt" SSLCertificateKeyFile "C:/Apache Software Foundation/Apache2.2/conf/ssl/server.key" と変更しました。 server.crtファイルも server.keyファイルも上記の場所にあるのですが、 これでapacheを起動すると The requested operation has faild! とエラーメッセージが出てしまいます。 httpd-ssl.confを有効にしなければ、apacheは普通に動いてくれます。 何が足りないのか、私には解りません。 考えうるエラーの原因が思い当たったらご教授願います。

  • apacheのSSLクライアント認証がうまくいきません

    apacheのSSLクライアント認証がうまくいきません apache1.3.41とmod_sslを利用してクライアント認証を実装しようとしているのですが クライアント認証を有効にするとhttps接続時に証明書提示した後に「ページを表示できません」となってしまいます。 手順は以下のサイトを参考に設定したものです http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm 証明書の発行もインストールも特に問題なくできましたが、接続時にクライアント証明書を提示しても「ページを表示できません」と出てしまいます。ssl_engine_logにもerror_logにもそれらしいエラーが見当たらないのでそれ以外のところに原因があるのでしょうか。 httpd.confの一部(デフォルトからSSLの部分を変更した部分だけ)を展開します。 どこか間違いがあればご指摘よろしくおねがいします。 また、この現象の原因が分かる方がいらっしゃればご教授願います。 <VirtualHost _default_:443> DocumentRoot "/home/xxxxx/webIndex" ServerName 192.168.11.2 ServerAdmin xxx@xxxxxxx.xxx DirectoryIndex login.html ErrorLog /usr/local/apache/logs/error_log TransferLog /usr/local/apache/logs/access_log SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/servercert.pem SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/serverkey.pem SSLCACertificatePath /usr/local/apache/conf/ssl.crt SSLCACertificateFile /usr/local/apache/conf/ssl.crt/cacert.pem SSLVerifyClient require SSLVerifyDepth 1     ・     ・     ・ </VirtualHost> ちなみにクライアント認証の部分をコメントアウトしてサーバ証明書だけ有効にすると正常に ページにアクセスできますので、クライアント認証の設定の部分に問題があるのみたいなのですが 起動ができるので設定以外のところに問題があるようにも思えます。 #SSLCACertificatePath /usr/local/apache/conf/ssl.crt #SSLCACertificateFile /usr/local/apache/conf/ssl.crt/cacert.pem #SSLVerifyClient require #SSLVerifyDepth 1 以上です 宜しくお願いします。

  • SSL導入でCSRを生成時のPEMフレーズ

    ■環境 サーバー:Apache + mod_ssl 初めてSSLサーバー証明をインストールします。 色んなサイトを見て勉強しながらやっているのですが、 どうしても腑に落ちないというか、どうもすっきりしない点がありましたので、 お知恵をお借りしたく、質問させて頂きました。 気になる部分はCSRを生成するコマンド、以下となります。 # mkdir /usr/local/certs # cd /usr/local/certs # openssl req -new -newkey rsa:2048 -nodes -keyout 「名前」.key -out 「名前」.csr Generating a 2048 bit RSA private key 参考にしたサイト http://www.digicert.ne.jp/howto/csr/csr_apache.html http://cspssl.jp/support/csr_apache.html 上のコマンドだと、PEMフレーズを入力せずに、2ファイルが生成されます。 しかしながら、その他の様々なサイトでは 先にパスフレーズを登録して、例えば、、 # openssl req -new -key 「名前」.key -out 「名前」.csr Enter pass phrase for server.key: このようなコマンドに続いてパスフレーズを聞かれるという形になっています。 また各種サイトには、PEMフレーズは省略も出来るとあります。 セキュリティ度は下がるが、再起動時に何度も入力しなくて済むという利便性があるとか。 もしかすると前者では、PEMフレーズが省略されたCSRを生成しているのかと 考えたのですが、私の考えで合っているのでしょうか。 それとも、前者のCSRで認証局に申請した物は、作り直さなくてはならないでしょうか。 素人質問で大変申し訳ないと思いますが、 ちょっと頭が混乱してしまってまして どなたかヒントを頂ければありがたいです。 すいませんがよろしくお願いします。

  • Apache2.0がX509_freeというエラーでSSLの起動ができない。

    環境は RedHat7.3 httpd-2.0.54.tar.gz openssl-0.9.7g.tar.tar sslはsharedで入れたい 主にhttp://solaris.ddo.jp/apache-ssl.htmlを参照 このサイトでmv cacert.pem cacert.pem.orgはcp cacert.pem.org cacert.pemにした configureは変更(文字数オーバで省略) そしてstartsslで下記エラーです ./apachectl startssl Syntax error on line 251 of /usr/local/apachetest/conf/httpd.conf: Cannot load /usr/local/apachetest/modules/mod_ssl.so into server: /usr/local/apachetest/modules/mod_ssl.so: undefined symbol: X509_free ./apachectl -tはSyntax OK httpd.confの251行目は LoadModule ssl_module modules/mod_ssl.so mod_ssl.soのlddはOKと思います configureから4回やり直したがだめ 最後のインストール時の: ./configure \ --enable-mods-shared=all \ --enable-so \ --prefix=/usr/local/apachetest \ --with-ssl=/usr/local/ssl 1回目からprefixは変更してません。変更ファイルは残るので鍵の再作成はしていません。 sslでない起動はできてます。 どなたか現象の原因や解決策に心当たりがありましたら投稿願います

  • apache OpenSSLの格納場所は?

    当方、windows7 32bitでwwwサーバを組んでいる超初心者です。 apacheは2.2.25、Active Perlは5.16.3.1で OpenSSLは1_0_1です。、 c/apache softoware Foundation c/perl c/openssl 以上の場所にインストールしています。 http://tako.jugem.cc/?eid=719 これの通りやって openssl versionとコマンド入力しても問題は発生しませんでした。 ここまでは順調でした。 しかし 私のダウンロードしたOpenSSLをインストールしても、 openssl.confがなかったので http://www.gadgety.net/shin/tips/win/apache2.html のソースをコピーペーストして、 openssl.confとしてc/apache softoware Foundation/apache2.2/conf/sslフォルダに 入れました。 openssl req -config openssl.cfg -new -out ./ssl.key/server.csrというコマンドを DOS窓に打ち込んでも指定されたパスが見つかりません。とメッセージが出ます。 私の頭で考えられるのはopenssl.confファイルの場所が違う、或いは拡張子の問題か? と考えていますが、お手上げ状態です。 なにか、これを見てお分かりになった方、教えてくださいませんか? 何が間違っているのでしょうか?

  • Apacheを複数のhttpd.confを用いてる場合の再起動

    Apacheを複数のhttpd.confファイルを用いて運用している場合、 個々のhttpd.confを指定してのApache再起動は可能なのでしょうか? 試しに、httpd_1.confとhttpd_2.confを用いて実施してみましたけど、 エラーになってしまいました。 手順を踏まえての詳細を以下に示します。 1./usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd_1.conf コマンドでApacheを起動。 2./usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd_2.conf コマンドでApacheを起動。 3.その後Apacheを停止したらプロセスが残ってしまいました。

  • virtual hostの設定について

    おたずねします。環境設定についてはまったくの初心者です。 URLとwebサーバのディレクトリを結びつける設定は どこをみればよいでしょうか? ほとんどの設定がhttpsd.confにあり、おそらく httpsd.confにあるだろうとあたりをつけて調べているのですが、 下記のようにVirtualHostの設定はみつけたのですが Port 999から先が追えません。 <VirtualHost _default_:999> Port 999 SSLCertificateKeyFile /usr/share/ssl/private/key.pem SSLCertificateFile /usr/share/ssl/certs/httpsd.pem SSLVerifyClient 0 SSLVerifyDepth 10 SSLFakeBasicAuth DocumentRoot /home/sslhtdocs/hogehoge AddType application/x-httpd-cgi .cgi </VirtualHost> hogehoge配下のindex.htmlをhttps://hogehoge2.com/で参照するためには 他にどのような設定が必要なのでしょうか? よろしくご指導願います。

  • opensslのソースインストールについて

    ご覧頂きありがとうございます。 表題の件についてですが、 先日公開されたOpneSSLの脆弱性対応(CVE-2016-0800)の対応の為、 openssl-1.0.1sをインストールしたのですが、 インストール後にウェブサーバを再起動しようとしたら以下のエラーが発生しました。 # /usr/local/apache2/bin/apachectl configtest httpd: Syntax error on line 55 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_ssl.so into server: /usr/local/apache2/modules/mod_ssl.so: undefined symbol: SSLv2_client_method httpd.conf 55行目: LoadModule ssl_module modules/mod_ssl.so エラー内容をウェブで検索しましたが有力な情報は得られませんでした。 もしおわかりの方がご教示いただけないでしょうか。 環境: CentOS6.7 Apache 2.2.31 Openssl-1.0.1s 不足情報などありましたらご指摘ください。 よろしくお願いいたします。

  • apache2.0.64に後からmod_sslを入れているのですが…

    apache2.0.64に後からmod_sslを入れているのですが… apache2.0.64に後からmod_sslを入れているのですが、うまくいかず困っています。 apache2.0.64を導入後にSSLが必要になったので下記サイトを参考にしてあとからmod_sslを入れようと試みています。 http://d.hatena.ne.jp/hiro_nemu/20090516/1242436684 apacheはすでに起動してのですが、導入後はapachectlでstopできなくなりました。 原因はLoadModule ssl_moduleがloadできないようでコメントアウトすると今までどおりapacheを起動できます。 起動時のエラーは以下の通りです。 Syntax error on line 268 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_ssl.so into server: /usr/local/apache/modules/mod_ssl.so: undefined symbol: ssl_cmd_SSLMutex ここからどうしていいかわからない状態です。 何でもかまわないのでご教授ください。

  • Apacheのssl設定について

    以前、mod_sslの導入について質問させていただき、無事導入完了したのですが、 ssl通信がうまくいきません。 ご質問内容 (1)バックエンドのwebサーバとhttps通信する設定方法をを教えてください。  httpd.confもしくはssl.confどちらに設定するかも含めてご教示ください。 (2)必要な設定ファイル(証明書関連)があればそちらもご教示ください。 図の様なシステム構成でWebサーバAのApache設定です。 httpd.confの設定です。 <VirtualHost *:80> ServerName hogehoge.example.com RewriteEngine On SSLProxyEngine on RewriteRule ^/httpstest/(.*) https://192.168.1.1/$1 [P] SSLEngine on SSLCertificateFile /tmp/cert/server.pem SSLCertificateKeyFile /tmp/cert/serverkey.pem </VirtualHost> SSLCertificateFile:プライベート認証局で作成したWebサーバBのサーバ証明書 SSLCertificateKeyFile:WebサーバBで作成した秘密鍵 SSL設定をしない場合はクライアントにWebサーバBのhtml画面が表示されます。 SSL設定をすると Apacheのaccess_logに 192.168.1.1 - - [09/Dec/2010:16:24:20 +0900] "GET /" 400 557 "-" "-"と出力され、ブランク画面が表示されます。 error.logに出力はありません。 ssl_error_logに [Thu Dec 09 16:39:33 2010] [warn] RSA server certificate CommonName (CN) `xxxxxxx.local.domain' does NOT match server name!? と出力されますが、Ariasの問題らしいのでSSL設定とは直接関係無いようです。 よろしくお願いいたします