次の場合:
特定のIPがアクセスできるようにnginxを設定する必要があります。それ以外の場合は、対応する証明書が必要です。
server {
. . .
ssl_verify_client optional;
location /admin {
allow XXX.XXX.XXX.XXX;
if ($ssl_client_verify != SUCCESS) {
return 403;
}
deny all;
}
}
IPに対して機能しますが、ロケーションif条件内に証明書を追加しようとすると、もちろんIPを含むワークステーションに証明書がないため、403エラーが発生します。 X OR Yを入手する方法はありますか?
ありがとうございます!
編集する:
汚い方法で解決しました...
location /admin {
set $var_cert 0;
if ($ssl_client_verify = SUCCESS) {
set $var_cert 1;
}
if ($remote_addr = XXX.XXX.XXX.XXX) {
set $var_cert 1;
}
if ($remote_addr = XXX.XXX.XXX.XXY) {
set $var_cert 1;
}
if ($var_cert = 0){
return 403;
}
proxy_pass http://172.16.0.54/admin;
}
まあ、動作します。