задний план
Зачем использовать https?
- https позволяет эффективно избежать перехвата DNS недобросовестными операторами и может значительно улучшить качество веб-сайта.
- Использование https уже является общей тенденцией, и по воле людей iOS даже обязывает разработчиков использовать https.
зачем использоватьLet's Encrypt
?
- Для отдельных разработчиков https-сертификаты слишком дороги, обычно тысячи лет.
-
Let's Encrypt
Бесплатный и открытый исходный код, несомненно, является хорошим выбором.
В этой статье будет записьблог голубых глаз(https://blog.eyeblue.cn) Весь процесс создания https. Есть много применений в Интернетеlet's encrypt
Код для создания сертификата или используйте Certbot для создания сертификата, но я не думаю, что удобно и быстро напрямую использовать https://freessl.org/ для создания сертификата.
Получить сертификат
1. Заполните доменное имя
Откройте сайт https://freessl.org/ и введите собственное доменное имя, вы увидите картинку ниже. Здесь мы заполняемblog.eyeblue.cn
и поставьте галочку нижеLet's Encrypt
, затем нажмите кнопку **"Создать бесплатный SSL-сертификат"**.
2. Заполните адрес электронной почты, выберите тип сертификата, тип проверки и метод генерации CSR.
-
Заполните свой адрес электронной почты
-
Марку сертификата можно выбрать только
Let's Encrypt
-
Выбор типа сертификата
ECC
. Здесь в основном нужно выбрать алгоритм цифровой подписи, для обычных пользователей использовать по умолчаниюECC
Вот и все. Если вам нужно выбрать в соответствии с вашей конкретной ситуацией, как правило, есть следующая основа выбора:
(1) Алгоритм подписи RSA подходит для сценариев приложений, в которых частота операций Verify высока, а частота операций Sign низкая. Например, одним из таких сценариев является управление доступом на основе возможностей в распределенных системах. (2) Алгоритм подписи ECDSA подходит для сценариев приложений, в которых частота операций Sign и Verify аналогична. Например, установление защищенного канала точка-точка.
- Тип проверки для использования
DNS
Путь.
На самом деле тип проверки используется для определения того, являетесь ли вы владельцем доменного имени.Подтвердить можно двумя способами: 1. ДНС. CA (Центр сертификации цифровых сертификатов) определит ваше право собственности на доменное имя, запросив запись DNS TXT, поэтому вам необходимо добавить сгенерированное имя записи TXT и значение записи к доменному имени на платформе управления доменными именами. 2. Документы. ЦС подтвердит, что вы являетесь владельцем измененного доменного имени, посетив определенный URL-адрес. Поэтому вам необходимо скачать файл проверки на лайки и загрузить его на свой сервер.
- Варианты создания CSR
浏览器生成
. Все распространенные браузеры поддерживаютWeb Cryptography
, напрямую используйте значение по умолчанию浏览器生成
Наиболее удобно.
На картинке ниже показано, что я заполнил. После заполнения нажмите кнопку **"Click Generate"**.
3. Выполните проверку DNS
3.1 После нажатия кнопки на шаге 2 появится следующий рисунок:
3.2 В настоящее время вам нужно только перейти в консоль разрешения доменных имен, чтобы добавить запись разрешения TXT. Мое доменное имя находится в облаке Alibaba, поэтому детали разрешения показаны на следующем рисунке:После завершения синтаксического анализа нажмите кнопку **"Нажмите для подтверждения"** в 3.1.4. Загрузите сертификат
После нажатия кнопки на шаге 3 появится кнопка для загрузки файла сертификата. В это время нажмите **"Загрузить сертификат"**, чтобы получить файл сертификата.full_chain.pem
и файл закрытого ключаprivate.key
.
настроить nginx
Конфигурация nginx следующая:
server{
# 监听443端口
listen 443 ssl;
# 域名,如果有多个空格隔开
server_name blog.eyeblue.cn;
# 启用ssl
ssl on;
# 证书文件的放置路径。证书文件即通过上文《获取证书》的方式获得。
ssl_certificate /data/security/letsencrypt/blogeyebluecn/full_chain.pem;
# 私钥文件的放置路径。
ssl_certificate_key /data/security/letsencrypt/blogeyebluecn/private.key;
# 蓝眼博客的服务运行在端口6020
location / {
proxy_pass http://127.0.0.1:6020;
proxy_set_header host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass_request_headers on;
client_max_body_size 8m;
}
}
#对于通过http来访问蓝眼博客的请求,我们默认让其跳转到https. 这样保持了http访问的兼容性。
server {
listen 80;
server_name blog.eyeblue.cn;
rewrite ^(.*)$ https://blog.eyeblue.cn$1 permanent;
}
Не забудьте изменить файл конфигурации
service nginx restart
проверять
открыть веб-страницуhttps://blog.eyeblue.cn
, вы можете увидеть маленький зеленый замок в адресной строке, который доказывает, что https был успешно открыт. как вы печатаетеhttp://blog.eyeblue.cn
автоматически перейдет кhttps
для обеспечения совместимости.
поддерживать
Let's Encrypt
Сертификат действителен только в течение трех месяцев, что требует от нас периодического продления сертификата.https://freessl.org/
Вы можете помочь нам управлять сертификатами.После регистрации и входа в систему вы можете увидеть наш интерфейс управления сертификатами следующим образом:
Справочная статья
Как Nginx настраивает сертификаты
Оригинальный текст был опубликован в блоге Blue Eye: https://blog.eyeblue.cn/home/article/9f580b3f-5679-4a9d-be6f-4d9f0dd417af.