• 締切済み

apacheの送信バイト数について

お世話になります。 現在、GETリクエストに対してファイルの内容を返すサーブレットを作成しております。 対象ファイルの内容をレスポンスに設定しているのですが、apacheのログの送信バイト数 を見ると実ファイルのバイト数より減少している場合があり、調査しております。 tomcatのログでは、送信バイト数=実ファイルバイト数になるのですが、apacheのログでは 送信バイト数<実ファイルバイト数になっております。(以下のログの{}内がサイズです。) 【tomcat】 xxx.xxx.xxx.xxx - - [01/Oct/2012:08:58:22 +0900] 200 {123213} 【apache】 xxx.xxx.xxx.xxx - - [01/Oct/2012:08:58:23 +0900] 200 {40960} "-" "Test" どのような状態で上記の様な現象が発生するのかわからず原因/解決策をご存知の方がいましたらご教授をお願いできますでしょうか。 サーブレットを開発している環境は、以下となります。 OS:CentOS 5.5 x86_64 apache:httpd-2.2.3-63 tomcat:apache-tomcat-5.5.30 JRE:jre-1.6.0_21-fcs.x86_64 お手数お掛け致しますが、よろしくお願い致します。

みんなの回答

回答No.2

apache自身が処理を行った結果がapacheのログに書かれ、 tomcat自身が処理を行った結果がtomcatのログに書かれているだけなのでは無いでしょうか? 詳細を調査したい場合、wireshark等を使ってネットワークトレースを取ってみると良いかもしれません。

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

圧縮転送をおこなっているとか? http://www.atmarkit.co.jp/flinux/rensai/apache2_04/apache04a.html

kenken1917
質問者

補足

早速のご回答ありがとうございます。 圧縮転送は、行っていません。 ただし、レスポンスに設定しているファイルは、ZIPで圧縮しております。

関連するQ&A

  • Apache

    過去の質問やサイト検索して調べてみたのですが、どうしてもわからないので質問させていただきます。 Apache2.2.3 Tomcat5.5.17をmod_jk.soで連携させています。 Tomcat内のwebappsフォルダにJSPファイルを作成しています。 そのファイルをwww.xxx.com/xxx/yyy.jspというように表示させたくhttpd.confとserver.xmlに付け加えをしているのですが、上手くいきません。 [httpd.conf] DocumentRoot "/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/xxx" <Directory "/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/xxx"> AllowOverride FileInfo AuthConfig Limit Options Indexes MultiViews SymLinksifOwnerMatch Order allow,deny Allow from all </Directory> [server.xml] <Host name="www.zzz.com" debug="0" appBase="/webapps/xxx" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="/Program Files/Apache Software Foundation/Tomcat 5.5/webapps" debug="0" reloadable="true"/> </Host> 上記をそれぞれ追加してみたのですが、どのようにしたらいいのでしょうか。 それとも根本的に間違っているのでしょうか。 また、Apache2.x/Tomcat5.xの連携方法について詳しく書いてある本などありましたら紹介して頂きたいです。 不備情報がありました仰ってください。 宜しくお願いします。

  • apacheのアクセスログについて

    Webサーバを運営しています。 昨日の15時頃から、apacheのaccess.logに、IPアドレスだけでなく、DNSで逆引きしたホスト名が出力されるようになりました。しかも、同じIPからなのに、IPアドレスだったりホスト名だったり、という混在状態です。 120.nnn.nnn.nnn - - [08/Oct/2013:13:51:46 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:51:47 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:51:47 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:51:47 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:51:47 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:51:47 0900] "GET /(以下略) 120.nnn.nnn.nnn - - [08/Oct/2013:13:52:30 0900] "GET /(以下略) 120.nnn.nnn.nnn - - [08/Oct/2013:13:52:30 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:52:30 0900] "GET /(以下略) 120.nnn.nnn.nnn - - [08/Oct/2013:13:52:30 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:52:30 0900] "GET /(以下略) xxxx.yyyy.zzz.ne.jp - - [08/Oct/2013:13:52:31 0900] "GET /(以下略) このような感じです。上記のログの120.nnn.nnn.nnn(IPアドレス)とxxxx.yyyy.zzz.ne.jp(ホスト名)は、同一のものです。 昨日の15時頃というと、アクセス拒否したいネットをdeny from に追加していたくらいで、他には何もいじっていません。(各コンフィギュレーションファイルのタイムスタンプでも確認しました。) HostnameLookupsはOffになっています。 ログを出力するたびにDNSの逆引きをしていると、OSに負荷がかかるのかと危惧しています。また、IPアドレスでログをgrepするときにも支障が出るので困っています。 何か原因に心当たりのある方がいらっしゃれば、教えていただけないでしょうか。 よろしくお願いします。 OS  Ubuntu 12.04.3 LTS  Linux www 3.2.0-54-generic #82-Ubuntu SMP Tue Sep 10 20:08:42 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Apacheのバージョン:  Server version: Apache/2.2.22 (Ubuntu)  Server built: Jul 12 2013 13:37:10

  • apache-tomcatについて

    非常に初歩的な質問ですが、apacheとtomcatは別にダウンロード&インストールするものなのでしょうか? 例えば以下のURLでダウンロードできるやつはapacheとtomcatが一緒になっているのでしょうか? http://tomcat.apache.org/download-60.cgi ファイル名が「apache-tomcat」になっているので少し混乱気味です。 どなたかご教示ください、お願い致します。

  • apacheでログを圧縮&再起動を掛けたい

    長い質問ですみません。随分試行錯誤した上でまだ悩んでいます。 無料プロバイダを個人運営でやっているものなんですが、 サーバーのログをhttp.confの設定でこんな感じで作成し、 CustomLog /var/log/apache/XXX.XXX.ne.jp-access.log combined これをCSV扱いしてCGIで読み取り、解析をしています。 自動的に一週間でログの切り替えを行っている様で最初はこれでよかったのですが、アクセスが増えるにつれcgiとログファイルが非常に重くなってきました。 そこで、以下のことをしようと思っています。 cronを使えば良いのではないかと思いました。 1.一定のアクセスの少ない時刻にログ圧縮をかける (圧縮ファイルは上書きでよい。どっちみちそんなに遡っては見ないので) 2.apacheを再起動する (再起動かけないと新しいlogファイルが作成されない様なので) ちなみに手動では以下の方法で出来ました。 gzip /var/log/apache/XXX.XXX.ne.jp-access.log ps x kill プロセスID /usr/sbin/apache でも自動だと kill プロセスIDがダメなんです。 同じIDでapacheが起動してくれないので・・・。 1.apacheを一定時間に確実に再起動させる方法 2.それ以外の1日単位でログファイルの切り替えを行う方法 CGIが一定ファイルを読む仕掛けになってるので現在アクティブなファイルは 同じのままという条件で のどちらかを教えてください。 ちなみに、 http://www.rfs.co.jp/server/apache/06.html の方法はhttpd.pidがwhereisとかfind探しても見つからないという 理由により挫折してますのでこれはアドバイスしないでください。 見つける方法がわかればそれでもまあいいのですが。

  • apacheとサーバについて

    apacheとtomcat、サーバ接続についてくわしいかたお願いします。 環境: Windows vista Apache2.0.61 Tomcat5.5.25 で tomcatとapacheは単独でうごきますし、 mod_jkを使い、apacheとtomcatを連携させました。 その際のhttpd.confには以下を追記しました。 末尾 <IfModule mod_jk.c> JkWorkersFile "C:\Program Files\Apache Group\Apache2\conf\workers.properties" JkLogFile logs\mod_jk.log JkLogLevel warn JkMount /*.jsp worker1   →(1) JkMount /servlet/* worker1     →(2) JkMount /examples/* worker1    →(3) JkMount /tomcat-docs/* worker1   →(4) </IfModule> において(4)は自分で作成(追加)しhttp://localhost/tomcat-docs/でみることができました。 しかし(3)においてはexampleに対応するファイルがtomcatに入ってなかったため、見れないのはわかります。 ここで(1)ですがこれはjspファイルを見れるようにするという意味ですよね? ということは もし、自分で○×.jspというファイルをlocalhostで見たい場合は httpd.confに JkMount /○×/* worker1と追加すればみれるということでしょうか? 追記して確認したところwebページがみつかりませんとの表示があります。 また、localhostでなく外部から○×.jspに接続されることを考えた場合、http://localhost/○×.jsp/のlocalhostに自分のIPアドレスを入れてあげれば外部からもみることができますよね? 質問ばかり&拙い文章ですいません。 なお○×.jspは C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\rootsの直下に入っています。 httpd.confと、サーバ接続の編集があいまいになっています。

  • Apache1.3.19+Tomcat3.2.1+PostgreSQL+VineLinuxを使用してます。

    以上のような環境でサーブレットとデータベースを扱おうとしています。 (TomcatはApacheにアドオンする形) 問題は、サーブレットでデータベースにアクセスしようとすると 以下のようなエラーメッセージが出力されます。 Error:500 Internal server Error Exception in: R( /myservlet + /servlet/Pgimage + null) - java.lang.NullPointerException at java.lang.ClassLoader.resolveClass0(Native Method) at java.lang.ClassLoader.resolveClass(ClassLoader.java:588) at org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:430) at org.apache.tomcat.loader.AdaptiveServletLoader.loadClass(AdaptiveServletLoader.java:174) at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:265) at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289) at org.apache.tomcat.core.Handler.service(Handler.java:254) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743 以上のような長いエラーが出てしまいます。 これは、サーバーの設定がいけないのでしょうか、 またはサーブレットがいけないのでしょうか?

  • <Java>logファイルのエラー内容

    あるプログラムの練習をしているのですがサーブレットファイルを含めすべての ファイルはコンパイルできTomcat,Apacheを起動後webページで下記のエラー表示がでました。 Error: 500 Location: /Training/look Internal Servlet Error: という表示です。 ------logディレクトリのファイル中は以下のとおりです。---------------- ○servlet.logファイルには 2002-03-27 04:54:11 - path="/Traineing" :jsp: init 2002-03-27 04:54:19 - path="/Traineing" :Skill: init ○jasper.log 2002-03-27 04:54:10 - Scratch dir for the JSP engine is: C:\tomcat\jakarta-tomcat-3.2.1\work\localhost_8080%2FLesson 2002-03-27 04:54:10 - IMPORTANT: Do not modify the generated servlets という表示です。ちなみにTrainingはディレクトリの一部でSkillはサーブレット 名です。上記の内容だけだと対応ができなく困っています。以上の内容でわかりずらい場合は補足いたしますのでアドバイスお願いします。 現環境設定内容 win98SE tomcat-3.2.1 jdk_1.3.1_02

  • ApacheとTomcatの連携について

    お世話になります。JSPを勉強する為にJSPが稼動するサーバー構築を行っていますがacheとtomcatの連携がうまくいきません。ネットで色々調べてみると.bashrcとか.bash_profileとかに環境変数を設定していましたが環境変数を設定するのはrootの中のファイルでしょうか? いままで行った作業は下記の通りです。 1.Java、TOMCAT、mod_webappをインストールしました。 2.tomcat4.confにJAVA_HOMEを下記のように設定。 JAVA_HOME="/usr/java/j2sdk1.4.1_01"←ここを追加 3.httpd.confを下記のように設定。 ・ServerName localhost←コメント「#」を削除。 ・LoadModule webapp_module modules/mod_webapp.so  AddModule mod_webapp.c  ※上記の内容が設定されているか確認。 ・下記のように変更。 <IfModule mod_webapp.c>  WebAppConnection warpConnection warp localhost:8008  WebAppDeploy examples warpConnection /examples/  WebAppDeploy manager warpConnection /manager/  WebAppDeploy webdav warpConnection /webdav/  WebAppInfo info ←追加。 </IfModule> 4.httpd.confのポートとserver.xmlのポートが「8008」になっているかを確認。 apcheは表示しました。 ・http://xxx.xxx.xxx.xxx[OK] Tomcatも表示しました。 ・http://xxx.xxx.xxx.xxx:8080[OK] ApacheとTomcatの連携がうまくいきません。 ・http://xxx.xxx.xxx.xxx/examples/jsp/index.html[NG] ※一度だけ表示できましたがサーバーを再起動したら表示できなくなりました。 下記のようにURLを設定する表示。 ・http://xxx.xxx.xxx.xxx:8080/examples/jsp/index.html[OK] □使用環境□ OS:RedHat7.2 Linux JAVA:1.4.1_01[SDK] APACHE:1.3.20※Apacheは既存を使用。 TOMCAT:4.0.4 TOMCAT-webapps:4.0.4 モジュール:mod_webapp-1.0-1 どうか宜しくお願いします。 では、失礼します。

  • 自分で作成したservletを起動すると画面が真っ白になる

    tomcat-5.0.28からApache Tomcat/5.5.17へとアップグレードしましたが jsp-examplesやservlets-examplesは問題無く表示して実行できるのですが 自分が作成したservletを表示することができません。 こちらは、実際見ることができ実行もできました。 http://192.168.X.XXX/jsp-examples/ http://192.168.X.XXX/servlets-examples/index.html 自分が作成したservlet(MySQL接続有り)を起動すると画面が真っ白になります。 MYSQLへの接続が上手く出来ないためエラーになっているのでしょうか? 因みに画面に文字を表示する単純なものはちゃんと動きます。 http://192.168.X.XXX/test/Data_Kensaku.html 【localhost.2006-07-10.log内容】 2006/07/10 14:42:00 org.apache.catalina.core.ApplicationContext log 情報: ContextListener: contextInitialized() 2006/07/10 14:42:00 org.apache.catalina.core.ApplicationContext log 情報: SessionListener: contextInitialized() 2006/07/10 14:42:00 org.apache.catalina.core.ApplicationContext log 情報: ContextListener: contextInitialized() 2006/07/10 14:42:00 org.apache.catalina.core.ApplicationContext log 情報: SessionListener: contextInitialized() 宜しくお願いします。 Linux EP4.0 java version 1.5.0_07 jakarta-tomcat-5.5.17 httpd-2.0.55 mod_jk2.so mysql-5.0.15

    • ベストアンサー
    • Java
  • apache2でforbiddenになってしまう

    apache2で質問です。 public_html/xxx.htmlは正常に表示されるのですが、 public_html/test/xxx.htmlはforbiddenになってしまいます。 まったく同じファイルです(パーミッションも)。 testフォルダはdrwxr-xr-xです。

    • 締切済み
    • CGI