Rails + Heroku のポストリクエストからの迅速な回答
概要
Ruby on Rails を使用してアプリケーションを作成し、heroku でデプロイしています メイン ページやその他のいくつかのページに加えて、ポスト リクエストを通じてさまざまな情報を受信/記録するためにサードパーティ アプリケーションによって使用されるエンドポイントがあります。 通常の展開とセットアップでは、DNS、TCP、SSL にさらに 200 ミリ秒かかります
特にこれらのエンドポイントに対して、ドメインのような http + 静的 IP を使用して、SSL と DNS の時間をスキップできるようにすることは可能ですか?
config.force_ssl を false に変更すると、SSL がスキップされます (80 ミリ秒を節約) が、すべてのリクエストに対して機能します。エンドポイント ルートのみに制限したいと考えています。
解決策
SSLを無効にするのは得策とは思えません。また、SSL を使用した場合、平均応答時間が 10 ミリ秒未満のアプリケーションを使用したことがあります。したがって、SSL がボトルネックであるとは考えられません。
ただし、特定のルートでのみ SSL を無効にしてみたい場合は、どのパスで SSL を強制しないかを構成できます。
config.force_ssl = true は、ActionDispatch::SSL をアプリケーションのミドルウェア スタックに追加します。もう 1 つの構成オプション (ssl_options) は、リダイレクトの動作を微調整するために使用できます。
ドキュメントのこの例では、ヘルス チェック ルートがあり、SSL を強制しないため、SSL を使用するようにリダイレクトされません。
config.ssl_options = {
redirect: { exclude: -> request { /healthcheck/.match?(request.path) } }
}
ActionDispatch::SSL のドキュメントを参照してください。