У меня есть два разных местоположения на моем сервере:
- сервер/местоположениеA
- сервер/местоположениеB
Я хочу ограничить доступ к этим местам, используя два клиентских сертификата certA и certB.
locationA должен быть доступен только с помощью certA, а locationB — только с помощью certB.
до сих пор я делал это так, используя разные порты:
сервер {
слушать 11111 ssl;
имя_сервера СерверA;
ssl_certificate server.crt;
ssl_certificate_key сервер.ключ;
ssl_client_certificate certA.crt;
ssl_verify_client необязательно;
местоположение / А {
если ($ ssl_client_verify! = УСПЕХ) {
вернуть 403;
}
псевдоним /www/data/files/A.html;
}
}
сервер {
слушать 22222 ssl;
имя_сервера СерверB;
ssl_certificate server.crt;
ssl_certificate_key сервер.ключ;
ssl_client_certificate certB.crt;
ssl_verify_client необязательно;
местоположение / Б {
если ($ ssl_client_verify! = УСПЕХ) {
вернуть 403;
}
псевдоним /www/data/files/B.html;
}
}
теперь мой вопрос будет заключаться в том, возможно ли иметь оба местоположения в одном и том же порту, например. (сервер/A и сервер/B вместо сервера:11111/A и сервера:22222/B)? И как мне нужно структурировать мою конфигурацию nginx, чтобы добиться этого?