よくあるご質問

キーワードから探す

  • FAQ検索
  • ID検索

※スペースで区切って複数検索が可能です。

カテゴリで絞り込む

カテゴリから探す

ID:968
作成日: 2013/08/07
ブラウザに503エラーが表示される

Webアクセス時、ブラウザに503エラーが表示されます。対処方法を教えてください。

503エラーが発生した場合、以下のログがInterSafe_proxy.logへ出力されます。
 Response "503 Service Unavailable ERR_CONNECT_FAIL" will be send to the client.[接続先情報] elapsed time [xx]
 ※対象サイトへのコネクションに失敗した場合
 
 Response "503 Service Unavailable ERR_DNS_FAIL" will be send to the client.[接続先情報] elapsed time [xx]
 ※対象サイトの名前解決に失敗した場合
 Response "503 Service Unavailable ERR_SOCKET_FAILURE" will be send to the client.
 ※ソケットの生成に失敗した場合
 
これらが出力される場合、以下の原因が考えられます。
 ・ネットワークの設定など、ネットワークの問題
 ・サーバリソースやInterSafe WebFilterの設定など、サーバ側の問題
InterSafe WebFilter側で問題なくリクエストの転送処理が行われているリクエストに
ついては、proxy.logと同時刻にリクエストログ(InterSafe_http.log)へ出力が行われます。
http.logの応答コード欄[10カラム目]へ 503 が出力されている場合は、上位ネットワークより
503 応答があったことが考えられます。この場合は、InterSafe WebFilterより上位のネット
ワーク側(中継機器や上位プロキシ、など)での調査もご検討ください。
考えられる原因およびそれぞれの対処方法については、以下をご参照ください。


【考えられる原因】
1.ネットワーク接続が出来ていない
2.DNSによる名前解決が出来ていない
3.JavaDNSキャッシュの保持サイズの問題
4.ヒープサイズの不足
5.ファイルディスクリプタの不足(Linux、Solarisのみ)
6.リクエストログ出力設定で[PCホスト名]、[WWWサーバIP]出力している場合


【対策】
--------------------------------------------------------------------------------------------------
1.ネットワーク接続が出来ていない
--------------------------------------------------------------------------------------------------
InterSafe WebFilterから上位インターネット環境へ接続できることをご確認ください。
●WindowsOSの場合
 ISWFサーバにインストールされているWebブラウザで、「プロキシなし」でWebサイトへ
 アクセスできるかを確認します。
●LinuxOSの場合
 導入サーバにて wget コマンドを実行いただくと、コマンドラインでWebサーバに対して
 GETリクエストを送信します。wget コマンドの実行結果が 200 となるかを確認します。
・コマンド実行例
 (wget) https://www.alsi.co.jp
・実行結果 
 HTTP による接続要求を送信しました、応答を待っています... 200 OK
 ※200 応答以外の場合は、OSの設定やネットワークに依存した問題が考えられます。
  恐れ入りますが、ネットワーク管理者様へご確認いただけますようお願いいたします。
--------------------------------------------------------------------------------------------------
2.DNSによる名前解決が出来ていない
--------------------------------------------------------------------------------------------------
InterSafe WebFilterでは、導入サーバのOSが参照するDNSを使用しています。
導入したマシン上で、接続先サイトに対して nslookup コマンド等で名前解決に成功
するかをご確認ください。
※上位プロキシが存在する場合は、上位プロキシ側でも確認を行ってください。

--------------------------------------------------------------------------------------------------
3.JavaDNSキャッシュの保持サイズの問題
--------------------------------------------------------------------------------------------------
JavaのDNSキャッシュの保持時間を短くすることで回避できる場合があります。
設定ファイル、設定箇所は以下になります。

<設定ファイル保存先>
 ・Ver.9.1 SP2
 (Linux)
  64ビット版:<インストールディレクトリ>/jre/conf/security/java.security
 (Windows)
  64ビット版:<インストールフォルダ>\jre\conf\security\java.security

 ・Ver8.x以降Ver9.1 SP1まで
 (Linux/Solaris)
  32/64ビット版:<インストールディレクトリ>/jre/lib/security/java.security
 (Windows)
  32/64ビット版:<インストールフォルダ>\jre\lib\security\java.security

 ・Ver7.0 SP1(Build0733)以降
 (Linux/Solaris)
  64ビット版:<インストールディレクトリ>java/64jre/lib/security/java.security
  32ビット版:<インストールディレクトリ>java/jre/lib/security/java.security  
 (Windows)
  64ビット版:<インストールフォルダ>\java\64jre\lib\security\java.security
  32ビット版:<インストールフォルダ>\java\jre\lib\security\java.security

 ・Ver7.0以前
 (Linux/Solaris)
  32/64ビット版:<インストールディレクトリ>/jre/lib/security/java.security
 (Windows)
  32/64ビット版:<インストールフォルダ>\jre\lib\security\java.security
 
<設定箇所1>
 #[positive cache]
 networkaddress.cache.ttl=3600
 ※一度アクセスに成功すると、指定時間内はそのIPを利用し続ける。
  指定時間(初期値) = 3600秒 (60分)
  
<設定箇所2>
 #[negative cache]
 networkaddress.cache.negative.ttl=300
 ※一度アクセスに失敗すると、指定時間内はそのIPを無効なものだと判断する。
  指定時間(初期値) = 300秒 (5分)

 上記の設定値を以下のように短くすることで問題を回避できる場合があります。
 ※上記設定値が記述されていない場合は追記します。

 (設定例)
 #[positive cache]
 networkaddress.cache.ttl=180
 #[negative cache]
 networkaddress.cache.negative.ttl=10 

 また、networkaddress.cache.ttl=-1 となっている場合にはDNSキャッシュの
 クリアは行われず保持いたしますので、環境により適宜変更をお願いいたします。
 設定変更後はISWFのサーバOSの再起動を行ってください。

 ※この値を小さくしすぎるとパフォーマンスに影響が出ることがありますので
  環境に合わせて調節してください。
--------------------------------------------------------------------------------------------------
4.ヒープサイズの不足
--------------------------------------------------------------------------------------------------
InterSafe WebFilterで確保するメモリ領域(最大ヒープサイズ)が不足している場合、
動作が不安定になることが考えられます。 

    ※Ver8.x製品では仕様変更により必要なメモリ領域が大幅に減ったため、
       基本的にヒープサイズを増加いただく必要はございません。
--------------------------------------------------------------------------------------------------
5.ファイルディスクリプタの不足(Linux、Solarisのみ)
--------------------------------------------------------------------------------------------------
ファイルディスクリプタの不足が発生すると、リクエスト処理に失敗し、
503エラーが発生する場合がございます。
ファイルディスクリプタが不足すると、ログに以下のメッセージが出力されます。
●Ver8.0以降の製品
 InterSafe_proxy.logに「~Too many open files...」
   または、
 InterSafe_filtering.logに「042630 Failed accept connection.[errno = 24:UNKNOWN]」
 というメッセージが出力されます。

●Ver7.0 SP1までの製品
 InterSafe_sys.log に「~Too many open files...」というメッセージが出力されます。
【回避方法】
ISWFのフィルタリングサービスが使用するファイルディスクリプタを変更することで
回避できる場合があります。各バージョンの対応方法をご確認ください。
※注意事項
・OS側の設定で「ulimit」コマンドの設定を増加している場合でも、ISWF側の設定値が
 有効になりますので、必ずOS側の設定値よりも大きい値を設定してください。
 Linuxでは、「ulimit」コマンドの初期値は1024となっております。
・ISWFサーバごとに「ulimit」コマンドの設定が必要となります。
・バージョンアップの際は起動シェルが上書きされ、「ulimit」コマンドの指定が
 削除されます。既に指定済みで、バージョンアップを行う場合は、
必ず、再指定してください。
 
--------------------------------------------------------------------------------------------
Ver8.5以降の製品
--------------------------------------------------------------------------------------------
デフォルトで32768という値を設定しておりますので、変更の必要はほとんどございません。
変更する場合は以下の設定ファイルを編集します。
 編集するファイル
  /<InterSafe導入ディレクトリ>/conf/sys/system.inf
 設定箇所
 [SYSTEM_GLOBAL]
   LIMIT_NOFILE=32768(初期値)
   ※上記キーは隠しキーのため初期値では記載されておりません、追記をお願いいたします。
   設定変更後は反映のため、フィルタリングサービスを再起動してください。
--------------------------------------------------------------------------------------------
Ver8.0以前の製品
--------------------------------------------------------------------------------------------
ファイルディスクリプタを変更する「ulimit」コマンドの記述を挿入します。
フィルタリングサービスの起動シェルを、次のようにエディタで編集してください。
(赤文字の個所のように追記します。)
●Ver8.0製品の設定手順
※Ver8.0はSolarisOSには対応しておりません。
 フィルタリングサービスの起動シェル
 /<ISWFインストールディレクトリ>/bin/amsproxy
 /<ISWFインストールディレクトリ>/bin/amsproxyexe
 /<ISWFインストールディレクトリ>/bin/amsproxysd

 該当項目
 -----------------------
 <省略>
 # BEGIN INITIALIZE
 CUR_PATH=`pwd`
 BIN_PATH=`dirname "${0}"`
 BIN_NAME=`basename "${0}"`

 ulimit -n ファイルディスクリプタ数

  "${BIN_PATH}"
 <省略>
 -----------------------
 ※挿入箇所は全ての起動シェルで共通です。
 「ulimit」コマンド設定後は、フィルタリングサービスを再起動してください。
 
●Ver7.0製品の設定手順
 
 フィルタリングサービスの起動シェル
 /<ISWFインストールディレクトリ>/bin/amsproxyexe
 該当項目
 -----------------------
 PATH="${JAVA_HOME}/bin:$PATH"
 export PATH
 
 ulimit -n ファイルディスクリプタ数
 -----------------------
 「ulimit」コマンド設定後は、フィルタリングサービスを再起動してください。
 
(参考)
「ulimit -n」で指定するファイルディスクリプタ数は、フィルタリングサービスで
使用するプロセス数の3倍以上になるように設定してください。
(例えば、1500 を設定したい場合、ulimit -n 1500 と記述します。)
(設定例:Proxy版の場合)

 /<ISWFインストールディレクトリ>/conf/proxy.inf
 [PROXY_PORT]
 HTTP=8080,500
 HTTPS=8443,75
 FTP_OVER_HTTP=8021,75
 
 上記の場合、(500 + 75 + 75) * 3 = 1950 となりますので、1950(以上)を設定します。
 
(設定例:Squid版、ICAP版の場合)
 
 /<ISWFインストールディレクトリ>/conf/proxy.inf
 [CONTROL_CFG]
 SERVER_PROCESS=500

 上記の場合、500 * 3 = 1500 となりますので、1500(以上)を設定します。
--------------------------------------------------------------------------------------------------
6.リクエストログ出力設定で「PCホスト名」、「WWWサーバIP」を出力している場合
--------------------------------------------------------------------------------------------------
「PCホスト名」もしくは「WWWサーバIP」のログ出力を有効にしている環境では、
 InterSafe WebFilterサーバ上で名前解決がスムーズに行なえないと、503エラーになる
ことがあります。ログ出力を無効に変更して改善するかご確認ください。
   ●WWWサーバIP
 管理画面[ログ管理]-[ログ設定]の出力項目「WWWサーバIP」のチェックを外す。
   ●PCホスト名
   添付URL「ログにホスト名を出力させる場合」をご覧ください。
--------------------------------------------------------------------------------------------------
対象バージョン
All
対象ビルド
 
一般情報
この内容は参考になりましたか?
ご回答いただきまして、ありがとうございます。
今後の参考にさせていただきます。
Powered by i-ask
Page Top