0

API へのすべてのリクエストが https 経由であることを確認するにはどうすればよいですか? .htaccess ファイルを使用して自動的に ssl にリダイレクトする必要がありますか? それとも、https 経由ではない接続をエラー メッセージで拒否する必要がありますか? 2番目の場合、これを達成する最良の方法は何ですか?

4

1 に答える 1

3

API のユーザーの生活をできるだけ簡単にする必要がありますが、開発者にとって「簡単」とは通常、明示的なことを意味します。

このような状況での私の強い好みは、これを前提条件の違反として扱い、エラーをスローすることです。API が RESTful である場合、HTTP エラーの 1 つに好みがあります。たとえば、カスタム エラー 503 FORBIDDEN で、SSL で接続する必要があることを説明するカスタム テキストが表示されます。

暗号化されていないサービス エンドポイントに誤って接続した開発者は、即座に、明確で、人間が判読できるフィードバックを受け取ります。

私はリダイレクトに注意します - これは副作用としてその目標を達成し、開発者が Web ブラウザーを使用して接続するとうまく機能し、Web サービスクライアントを使用すると失敗する可能性があります (私の経験では、すべてがリダイレクトでうまくいくわけではありません)。 )。

また、単純に HTTP ポート/リスナーを開かないよりもエラーをスローすることをお勧めします。通常、接続がタイムアウトするまでにしばらく時間がかかります。これにより、クライアント開発者はサーバーがダウンしていると判断し、根本的な原因をすぐに理解することができなくなります。エラー。

于 2012-09-14T11:03:01.560 に答える