HTTPS & self signed certificate
Pavel V.
pavel2000 at ngs.ru
Wed Dec 24 18:20:17 UTC 2014
Здравствуйте, Ualde.
Вы писали 23 декабря 2014 г., 13:31:02:
> Здравствуйте
> Используем nginx уже достаточно давно, однако, теперь решили использовать и
> SSL (до этого защищенное соединение не требовалось).
> Для начала решили все опробовать с самоподписанными сертификатами.
> Но возникает следующая проблема, тестовый сайт не открывается клиентом в
> Google Chrome, Firefox, и при этом открывается в Internet Explorer.
> 400 Bad Request
> No required SSL certificate was sent
> ssl on;
> ssl_certificate /etc/nginx/server.crt;
> ssl_certificate_key /etc/nginx/server.key;
>
> ssl_verify_client on;
> ssl_client_certificate /etc/nginx/ca.crt;
1) Сделайте файл server.cert, примерно так:
cat server.crt > server.cert
echo "" >> server.cert
cat ca.crt >> server.cert
2) Используйте его вместо server.crt в ssl_certificate. Т.е.
ssl_certificate /etc/nginx/server.cert;
Т.е. это будет основной сертификат + "промежуточные", т.е. ваш CA-сертификат будет отправляться
клиенту, и страница отобразится/клиент сможет добавить СА в доверенные.
http://nginx.org/ru/docs/http/ngx_http_ssl_module.html#ssl_certificate
3) Если вы на самом деле не собираетесь никого сертификатами авторизовывать, то директивы не нужны:
ssl_verify_client on;
ssl_client_certificate /etc/nginx/ca.crt;
Вся проблема у вас из-за них, т.к. от клиента требуют авторизацию, а авторизоваться он не может.
Ну и в предыдущем письме Вам написали про места хранения сертификатов.
Бонусы:
- Для создания сертификатов / управления CA удобно использовать консольные скрипты easy-rsa/2.0,
которые идут в комплекте с openvpn.
- http://security.ncsa.illinois.edu/research/grid-howtos/usefulopenssl.html
- http://www.fixyourip.com/library/openssl/openssl_howto.php
--
С уважением,
Pavel mailto:pavel2000 at ngs.ru
Подробная информация о списке рассылки nginx-ru