0

通常の共有ホスト サーバー (Heroku などではない) にデプロイされたアプリのアプリ プロキシをセットアップしました。コンテンツ タイプを application/liquid に設定するまでは、(私の他のアプリと同様に)魅力的に機能します。

それを行うとすぐに、サーバーによって生成された nginx によって 411 Length Required エラーが発生します (私の推測)。コンテンツの長さを0に設定して解決しようとしました。しばらくは機能しましたが、停止しました。他の値を試してみましたが、気分に応じて機能します。おかしなことに、出力がコンテンツの長さで切り捨てられることもあれば、出力全体を取得することもあります (単純なページの更新で異なる出力が得られる場合があります)。また、まったく機能せず、shopify が「技術に問題があります」というエラーをスローすることもあります。

要約すると、コンテンツの長さはまったく信頼できません。

現在、411 エラーの原因とその対処方法が正確にはわかりません。また、コンテンツ タイプがリキッドの場合にのみスローされるのはなぜですか。さらに、content-length では一貫した出力が得られません (出力なし/予測可能な出力/切り捨てられた出力/shopify エラー)。

何が起きているか知っている人はいますか?

4

1 に答える 1

1

おそらく、あなたの応答はチャンク転送エンコーディングを使用しています。nginx がデフォルトでこれをサポートしているとは思わないため、チャンク エンコーディングは Content-Length ヘッダーを使用しないため、この場合は 411 エラーが返されます。

チャンクされたレスポンスを使用したい場合は、これをサポートするhttp://wiki.nginx.org/HttpChunkinModuleモジュールがあります。それ以外の場合は、アプリでチャンク エンコーディングを無効にし、Content-Length ヘッダーが応答の本文の長さと一致していることを確認してください。

于 2012-09-17T14:35:58.583 に答える