Проверка подлинности SSL-сертификата клиента CloudFlare DNS

У меня есть сервер Nginx, который устанавливает аутентификацию сертификата клиента и работает нормально, вот эта часть, которую я пишу в сконфигурированный SSL на Nginx.

server {
        listen   80;
        listen   443;
        ssl on;
        server_name ssl-api.mywebsite.com;

        ssl_certificate      /etc/nginx/certs/verify-ssl-api-server.crt;
        ssl_certificate_key  /etc/nginx/certs/verify-ssl-api-server.key;
        ssl_client_certificate /etc/nginx/certs/verify-ssl-api-rootCa.crt;
        ssl_verify_client on;

Когда я использую браузер для доступа к этому, появится сообщение об ошибке, подобное этой картинке.

И я добавляю свой сертификат клиента в Firefox и предоставляю пароль для импорта clientcert.p12

Появляется диалог подтверждения, мне просто нужно нажать кнопку ОК, и все работает нормально.

Теперь я хочу заставить эту работу работать с SSL от CLoudFlare, но не знаю как. Я пробовал Authenticated Origin Pulls, но ему не нужно отправлять сертификат клиента, так как я могу сделать это с CloudFlare?

1 ответ

Попробуйте следующее. В своей строке прослушивания 443 вы не сказали ssl, я не знаю, будет ли это по умолчанию или нет. Вы не должны помещать http2 туда, если ваша версия Nginx не поддерживает это.

listen 443 ssl http2;

ssl_certificate /var/lib/certs/fullchain;
ssl_certificate_key /var/lib/certs/privkey;

# Set up preferred protocols and ciphers. TLS1.2 is required for HTTP/2
# Change according to your needs
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

# This is a cache for SSL connections, it's optional but helps performance.
ssl_session_cache shared:SSL:2m;
ssl_session_timeout 60m;

Получите это работает правильно в Chrome, Firefox и IE. Возможно, вам понадобится добавить промежуточные сертификаты, чтобы заставить Firefox работать, это гораздо сложнее. Как только вы это сделаете, CloudFlare должен "просто работать".

Пойдите и опубликуйте ваши результаты, успех или дополнительные вопросы.

Другие вопросы по тегам