ユーザー用のhtpasswdファイルで基本的なブラウザー認証を使用して一連のNGINXプロキシを実行しています。
Laravelを使用して、ユーザーを認証し、これらのnginxプロキシへのリンクのリストを表示する小さなアプリケーションを作成しました。
Nginx認証をJWTトークンのようなものに更新しようとしていますが、実際のトークン自体を検証するためのAPIがなくても十分に安全かどうかはわかりません。
私が考えていたもう1つのオプションは、LDAPソリューションであり、LaravelとLDAP認証を使用するNGINXプロキシの両方を持つことでした。
Nginxプロキシの背後にあるアプリには認証がなく、現時点では認証を追加する予定はありません。
Nginxには request auth module が含まれています。
サブリクエストの結果に基づいてクライアント認証を実装します。サブリクエストが2xx応答コードを返す場合、アクセスは許可されます。 401または403が返される場合、アクセスは対応するエラーコードで拒否されます。サブリクエストによって返されるその他の応答コードは、エラーと見なされます。
401エラーの場合、クライアントはサブリクエスト応答から「WWW-Authenticate」ヘッダーも受け取ります。
2つの可能性が思い浮かびます。
2番目の答えについて詳しく説明します。
htpasswd
ファイルに書き込みます。Nginxには、これを行うための組み込みの方法がありません。 htpasswd認証とIPごとの許可/拒否ルールのみを実行できます。
Nginx Plusにはこれを行う方法があり、詳細については Nginxブログ で説明されています。