人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GalaxySのChromeからPDFファイルをダウロードする.htmlファイルにて、
「ダウンロードに失敗しました」に関してです。
Webサーバを2つ公開してまして。
両方ともに以下のdownload.html ファイルを置いています。
<a href="test.pdf" target="_blank">pdfリンク</a>

Aサーバでは、まったく問題なくDownloadが完了しますが、
Bサーバでは、「ダウンロードに失敗しました」となってしまいます。

アパッチは両方ともにバージョン 2.0.58 で、httpd.conf内容はほとんど差異はないです。
何が原因でBサーバのPDFダウンロードに失敗するのでしょう?

因みに、PCブラウザ IE6、Firefox6、Chrome14 などでは、両サーバともダウンロードに成功します。

●質問者: gdwtseq
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● y-kawaz
●68ポイント

httpd.conf は同じということなので他に違いが出そうなところを思いつくだけ列挙してみます。

http://q.hatena.ne.jp/answer

◎質問者からの返答

返信遅れました。アドバイスありがとうございます。

挙げていただいた項目の上4つについては、差異はありませんでして、

「・前段にロードバランサやプロキシサーバ」に関しても設置は無いと

認識しております。

因みに、現在、両サーバともソースからインストールしたApache2が動いているのですが、(/usr/local/apache2/bin/httpd を start させています)

Bサーバには、以前パッケージからインストールした形跡が残っているのです。

/etc/httpd/conf.d/ フォルダや、

/etc/httpd/conf/ フォルダが残っています。

しかし、magic,magic.types などのファイルは現在残っておりません。


2 ● techmedia-think
●66ポイント

ダウンロードに失敗したBサーバのApacheのアクセスログや、エラーログには何も出力されてないのでしょうか?

http://q.hatena.ne.jp/answer

◎質問者からの返答

アドバイスありがとうございます。

両サーバの access_log や error_log を調べましたところ、

失敗するBサーバの方では、error_log に、以下のようなステータスコードが出ました。

HTTP/1.1" 401

HTTP/1.1" 200

HTTP/1.1" 401 ( 2秒間おいて、追って表示された )

実は、BサーバはAサーバの開発テスト用サーバでして、.htaccess によりベーシック認証が掛っていました。(汗)

ベーシック認証を外すと、pdf のダウンロードに成功しました。

しかし、もう一つ問題がありまして、

Bサーバには、https: サイトがありまして、そこからのpdfダウンロードをすると、GalaxySでは「データ接続をしていますのでお待ちください...」メッセージのまま、ダウンロードが完了しないのです。

ssl_access_log には、

"GET /pdf/20110926161849.pdf HTTP/1.1" 200 26522

"GET /pdf/20110926161849.pdf HTTP/1.1" 200 26522 "https://test.abc.co.jp/aaa.php" "Mozilla/5.0 (Linux; U; Android 2.2.1; ja-jp; SC-02B Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" TLSv1 DHE-RSA-AES256-SHA

と表示せれましたが、成功する IE,Chromeのブラウザの場合は、上記のログと同様で HTTPステータスが

IEが 304

Chromeが 200

に表示されます。

BサーバはAサーバと違い、サーバ証明書を発行していないサーバですが、

このことがダウンロードを完了できない原因となり得るでしょうか?



追記:

auの端末 IS05 のアンドロイドブラウザで試したところ、同様にダウンロードが完了しない状況ですが、

iPhone4のSafari で試したら、ダウンロードが完了しました。

Androidブラウザ機能の何が悪いのでしょう?


3 ● techmedia-think
●66ポイント ベストアンサー

BサーバのHTTPS通信で使用している証明書が正式な証明書では無いという認識で良いでしょうか?

正式な証明書で無い場合は、Androidの場合ダウンロードマネージャが正常に動作しないようです。

Androidの既知の問題として取り上げられているみたいです。Issue TrackerのStatusがUnassignedのままなので、Android全般的に修正されていないのではないでしょうか。

http://feather.cocolog-nifty.com/weblog/2010/10/androidwebhttps.html

http://code.google.com/p/android/issues/detail?id=3492

◎質問者からの返答

ご返信ありがとうございます



アンドロイド特有の問題であることを大体理解しました。



有意義な情報をありがとうございます。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ