不正な構成ファイル

症状

Edge Router は Nginx を使用して実装されています。Edge のアップグレード プロセス中または Edge Router 構成の変更中に、Nginx の構成エラーが表示されることがあります。このようなエラーが発生すると、Edge は問題の原因となったすべての Nginx 構成ファイルを /opt/nginx/conf.d ディレクトリで不正としてマークします。

    -rw-r--r-- 1 apigee apigee 522 Jul 20 08:41 0-default.conf.bad
    -rw-r--r-- 1 apigee apigee 577 Jul 20 08:42 0-fallback.conf
    -rw-r--r-- 1 apigee apigee 1062 Jul 20 08:18 0-map.conf
    -rw-r--r-- 1 apigee apigee 1887 Jul 20 08:42 custorg_test_default.conf.bad
    

エラー メッセージ

エラー メッセージは表示されません。ただし、不正な構成ファイルが原因で、API プロキシを実行できないことがあります。

考えられる原因

通常、Nginx の構成ファイルは、/opt/apigee/customer/application/router.properties ファイルの Nginx プロパティのいずれかに間違った値が設定されているか、または仮想ホストに間違った変更が加えられたことが原因で、不正としてマークされます。

診断

  1. /opt/nginx/conf.d ディレクトリ内のファイルの名前から .bad 接尾辞を削除し、.conf で終わるようにします。
  1. Nginx の configtest ツールを実行して、エラーの原因を調べます。
        /opt/nginx/scripts/apigee-nginx configtest
        

解決策

  1. 構成テストにより不正な構成ファイルの原因を特定できた場合は、/opt/apigee/customer/application/router.properties ファイルまたは仮想ホストの特定のプロパティを適切な値に変更して問題を修正します。
  1. /opt/nginx/conf.d ディレクトリを削除します。
        rm -rf /opt/nginx/conf.d
        
  1. Edge Router を再起動します。
        /opt/apigee/apigee-service/bin/apigee-service edge-router restart
        
  1. これで、/opt/nginx/conf.d ディレクトリから不正な構成ファイルがなくなります。

問題が解決しない場合は、Apigee サポートにご連絡ください。

Nginx の構成テストで提供される情報に基づいて問題を修正する方法の例を次に示します。

例: Nginx プロパティに間違った値が設定されている

  1. 次に示すように、/opt/apigee/customer/application/router.properties ファイルのプロパティ proxy_busy_buffers_size を 128K に更新したとします。
        conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=128k
        

すると、構成ファイルが /opt/apigee/nginx/conf.d ディレクトリで不正としてマークされます。

  1. Nginx の configtest ツールを実行して、エラーの原因を調べます。
        /opt/nginx/scripts/apigee-nginx configtest
        nginx: [emerg] "proxy_busy_buffers_size" must be equal to or greater than the maximum of the value of "proxy_buffer_size" and one of the "proxy_buffers" in /opt/nginx/conf/nginx.conf:47
        nginx: configuration file /opt/nginx/conf/nginx.conf test failed
        

構成テストの結果は、proxy_busy_buffers_size プロパティの値が proxy_buffer_size 以上でなければならないのに、間違った値が設定されている可能性を示しています。

  1. 0-default.conf ファイルの proxy_buffer_size プロパティと proxy_busy_buffers_size プロパティの値を確認します。
        proxy_buffer_size 512k;
        proxy_busy_buffers_size 128k;
        
  1. /opt/apigee/customer/application/router.properties ファイルの proxy_busy_buffers_size の値を 512K に更新します。
        conf_load_balancing_load.balancing.driver.proxy.busy.buffer.size=512k
        
  1. /opt/nginx/conf.d フォルダを削除します。
        rm -rf /opt/nginx/conf.d
        
  1. Edge Router を再起動します。
        /opt/apigee/apigee-service/bin/apigee-service edge-router restart
        

これで問題は修正され、不正な構成ファイルは削除されました。