質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

1回答

5531閲覧

Nginxで端末ごとにクライアント証明書を要求

NA02

総合スコア12

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2018/02/05 10:00

実現したいこと

Nginxで端末ごとに異なるクライアント証明書を要求できるようにしたいです。
https://127.0.0.1に
端末Aがアクセスした際にA.pemファイルを使用し、クライアント証明書を要求。
端末Bがアクセスした際にB.pemファイルを使用し、クライアント証明書を要求
するようにnginx.confで設定することは可能でしょうか。

よろしくお願いいたします。

前提

端末A,BのIPアドレスは分かりません。

ソースコード

# HTTPS server # server { listen 443 ssl; server_name _; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_verify_client on;          //端末ごとに設定したい ssl_client_certificate A.pem; ssl_client_certificate B.pem; location / { proxy_pass http://127.0.0.1; } }

補足情報

【参考URL】
https://qiita.com/t_oginogin/items/c6a95a9d61424141dff3
IPアドレスが分かっているならば、
serverコンテキストを複数設定すればできそうですが、
IPアドレスが分からない場合はどうすればよいのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

クライアント証明書の issuer の証明書が複数あるということですよね?
それらをまとめて 1つのファイルにして ssl_client_certificate に設定すればいいはずです。
Nginx 側で複数の証明書の階層関係などを認識し、自動的に判定してくれたと思います。

投稿2018/02/05 13:03

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NA02

2018/02/06 01:55 編集

ありがとうございます。 1つにまとめることで解決しました。 どちらかのクライアント証明書(または両方)を持っているときに、 それを使用してアクセスできるようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問