「ダウンロードに失敗しました」に関してです。
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 などでは、両サーバともダウンロードに成功します。
BサーバのHTTPS通信で使用している証明書が正式な証明書では無いという認識で良いでしょうか?
正式な証明書で無い場合は、Androidの場合ダウンロードマネージャが正常に動作しないようです。
Androidの既知の問題として取り上げられているみたいです。Issue TrackerのStatusがUnassignedのままなので、Android全般的に修正されていないのではないでしょうか。
http://feather.cocolog-nifty.com/weblog/2010/10/androidwebhttps.html
httpd.conf は同じということなので他に違いが出そうなところを思いつくだけ列挙してみます。
返信遅れました。アドバイスありがとうございます。
挙げていただいた項目の上4つについては、差異はありませんでして、
「・前段にロードバランサやプロキシサーバ」に関しても設置は無いと
認識しております。
因みに、現在、両サーバともソースからインストールしたApache2が動いているのですが、(/usr/local/apache2/bin/httpd を start させています)
Bサーバには、以前パッケージからインストールした形跡が残っているのです。
/etc/httpd/conf.d/ フォルダや、
/etc/httpd/conf/ フォルダが残っています。
しかし、magic,magic.types などのファイルは現在残っておりません。
アドバイスありがとうございます。
両サーバの 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ブラウザ機能の何が悪いのでしょう?
BサーバのHTTPS通信で使用している証明書が正式な証明書では無いという認識で良いでしょうか?
正式な証明書で無い場合は、Androidの場合ダウンロードマネージャが正常に動作しないようです。
Androidの既知の問題として取り上げられているみたいです。Issue TrackerのStatusがUnassignedのままなので、Android全般的に修正されていないのではないでしょうか。
http://feather.cocolog-nifty.com/weblog/2010/10/androidwebhttps.html
ご返信ありがとうございます
アンドロイド特有の問題であることを大体理解しました。
有意義な情報をありがとうございます。
ご返信ありがとうございます
アンドロイド特有の問題であることを大体理解しました。
有意義な情報をありがとうございます。