症状
nginxに長いGETパラメーター(1000文字以上)を含むURLをGETで渡すと以下のようなエラーになる。
414 Request-URI too large
原因はもちろんGETパラメーターが長すぎるのだが、仕様上POSTに変更できない場合、nginxの設定を書き換えるしかない
対処方法
結論としてはnginxの設定で client_header_buffer_size と large_client_header_buffers の値を増やせば良い。
以下のような感じで2行をnginxの設定に追加
client_header_buffer_size 64k; large_client_header_buffers 4 64k;
server { listen 80; (略) client_header_buffer_size 64k; large_client_header_buffers 4 64k; location / { (略) } }
でservice nginx reload