Я установил nginx с сертификатами SSL и letsencrypt. Однако я не могу заставить работать OCSP stappling.
Из того, что я нашел в Интернете, он должен работать со следующей конфигурацией, но, к сожалению, это не так. Мой виртуальный хост nginx выглядит так:
server {
...
# SSL Certificates
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
# Allow Nginx to send OCSP results during the connection process
ssl_stapling on;
ssl_stapling_verify on;
resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
...
}
Когда я сканирую свой домен с помощью https://www.ssllabs.com он сообщает:
OCSP stapling No
Что мне не хватает в моей конфигурации?
Я не вижу ничего плохого в вашей настройке, но, возможно, удалите лишний resolver
директива даст другой результат.
Я тоже столкнулся с подобной ситуацией, и я даже тестировал сшивание OCSP с помощью openssl
на основе Эта статья:
echo QUIT | openssl s_client -connect www.yourdomain.com:443 -servername www.yourdomain.com -status 2> /dev/null | grep -A 17 'OCSP response:' | grep -B 17 'Next Update'
Отсутствие вывода означает, что сшивание OCSP еще не работает.
Из того, что я наблюдаю, если я перезапускаю / перезагружаю Nginx, а затем немедленно тестирую его с помощью SSL Labs, он терпит неудачу. Затем я бы несколько раз протестировал указанную выше команду, пока она не сработает, а затем повторно протестирую в SSL Labs. Я рекомендую вам попробовать, и если он не удастся с первого раза, подождите несколько минут и попробуйте снова. Меня устраивает.
nginx получает ответ OCSP после первый раз был сделан запрос с использованием соответствующего сертификата.
Это поведение вероятно будет изменен чтобы полностью поддержать OCSP Must Staple
Пока это не произойдет, надежным тестом для сшивания будет несколько подключений, позволяющих nginx некоторое время получать подписанный ответ.
for i in 3 0; do openssl s_client -connect example.com:443 -servername example.com -status </dev/null 2>&1 | grep -A 13 OCSP; sleep $i; done
Ответчики OCSP действительно терпят неудачу - очень часто. Если они работают медленно, nginx откажется от работы после тайм-аута (ненастраиваемый, через 60 секунд) и отметит это в журнале ошибок. Если хотите знать сразу, попробуйте:
openssl x509 -noout -text -in example.crt | grep "OCSP - URI" | cut -d: -f2,3 | grep -io "^http://[-.a-z0-9]*$" | xargs curl -D-