New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🌐Add Russian translation for docs/ru/docs/deployment/https.md
#5494
🌐Add Russian translation for docs/ru/docs/deployment/https.md
#5494
Conversation
Codecov ReportBase: 100.00% // Head: 100.00% // No change to project coverage 👍
Additional details and impacted files@@ Coverage Diff @@
## master #5494 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 540 540
Lines 13969 13946 -23
=========================================
- Hits 13969 13946 -23
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
📝 Docs preview for commit dfc8d74 at: https://6348281334519d2192248ba3--fastapi.netlify.app |
docs/ru/docs/deployment/https.md
Outdated
Но все гораздо сложнее, чем кажется. | ||
|
||
!!! Подсказка | ||
Если вы торопитесь или вам все равно, читайте следующие разделы пошаговой инструкции по настройке развертывания с использованием различных технологий. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Если вы торопитесь или вам все равно,
Если вы торопитесь или вам неинтересно,
docs/ru/docs/deployment/https.md
Outdated
|
||
Чтобы **понять основы HTTPS** с точки зрения пользователя, изучите <a href="https://howhttps.works/ru/" class="external-link" target="_blank">https://howhttps.works/</a>. | ||
|
||
Итак, **с точки зрения разработчика** есть несколько вещей, которые надо держать в уме, размышляя о HTTPS: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
так, с точки зрения разработчика
После этого - запятая.
которые надо держать в уме
о которых следует помнить
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
С точки зрения разработчика нужно учитывать следующие особенности работы с функционирования HTTPS:
docs/ru/docs/deployment/https.md
Outdated
* У сертификатов есть **срок действия**. | ||
* Он **истекает**. | ||
* После этого сертификаты необходимо **обновить**, **вновь получить** от третьей стороны. | ||
* Шифрование соединения происходит на **TCP-уровне**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
на TCP-уровне.
на уровне протокола ТСР
docs/ru/docs/deployment/https.md
Outdated
* Так что **сертификация и шифрование** выполняется **перед HTTP**. | ||
* **TCP не знает о "доменах"**. Только об IP-адресах. | ||
* Информация **о конкретном запрашиваемом домене** содержится в **данных HTTP**. | ||
* **HTTPS-сертификаты** "сертифицируют" **определенный домен**, но протокол и шифрование происходит на TCP-уровне, **не зная** с каким доменом ведется работа. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
но протокол и шифрование
Честно говоря, непонятно, что понимается под термином протокол"...
на TCP-уровне, не зная с каким доменом ведется работа.
на уровне протокола ТСР, когда ещё не известно имя домена
docs/ru/docs/deployment/https.md
Outdated
* **По умолчанию**, это означает, что вы можете иметь только **один HTTPS-сертификат на IP-адрес**. | ||
* Вне зависимости от того, насколько большой у вас сервер или насколько малы приложения, которые имеются на нем. | ||
* Несмортря на это, имеется **решение** данной проблемы. | ||
* Существует **расширение** протокола **TLS** (того, что управляет шифрованием на TCP-уровне, перед HTTP), которое называется **<a href="https://ru.wikipedia.org/wiki/Server_Name_Indication" class="external-link" target="_blank"><abbr title="Индикация имени сервера">SNI</abbr></a>**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Индикация имени сервера
Указание имени сервера
docs/ru/docs/deployment/https.md
Outdated
|
||
### TLS с SNI расширением | ||
|
||
**Только один процесс** на сервере может слушать определенный **порт** на определенном **IP-адресе**. Могут быть и другие процессы, слушающие на других портах тот же самый IP-адрес, но только один процесс для каждой комбинации IP-адреса и порта. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
но только один процесс для каждой комбинации IP-адреса и порта.
но может быть только один процесс для каждой комбинации IP-адреса и порта.
docs/ru/docs/deployment/https.md
Outdated
|
||
### Расшифровка запроса | ||
|
||
Прокси-сервер завершения TLS будет использовать выбранный способ шифрования для **расшифровки запроса**, и перенаправит **простой (расшифрованный) HTTP-запрос** процессу запущенного приложения (например процесс Uvicorn с запущенным приложением FastAPI). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
например процесс Uvicorn
например, процессу Uvicorn
docs/ru/docs/deployment/https.md
Outdated
|
||
### HTTPS ответ | ||
|
||
Прокси-сервер завершения TLS **зашифрует ответ** с использованием выбранного способа шифрования (that started with the certificate for `someapp.example.com`), и отправит его обратно браузеру. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(that started with the certificate for
someapp.example.com
),
???
docs/ru/docs/deployment/https.md
Outdated
|
||
Прокси-сервер завершения TLS **зашифрует ответ** с использованием выбранного способа шифрования (that started with the certificate for `someapp.example.com`), и отправит его обратно браузеру. | ||
|
||
Далее, браузер удостоверится что ответ валиден, зашифрован правильным криптографическим ключом и т.д. Затем он **расшифровывает ответ** и обрабатывает его. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
удостоверится что
удостоверится, что
docs/ru/docs/deployment/https.md
Outdated
* **Запуск в качестве сервера** (по крайней мере, на время получения сертификата) на публичном IP-адресе, связанном с доменом. | ||
* Как было сказано выше, только один процесс может слушать определенный IP и порт. | ||
* По этой причине удобно, когда прокси-сервер завершения TLS управляет процессом обновления сертификата. | ||
* С другой стороны, you might have to stop the TLS Termination Proxy momentarily, start the renewal program to acquire the certificates, then configure them with the TLS Termination Proxy, and then restart the TLS Termination Proxy. This is not ideal, as your app(s) will not be available during the time that the TLS Termination Proxy is off. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
???
Is it necessary to copy pictures? |
docs/ru/docs/deployment/https.md
docs/ru/docs/deployment/https.md
📝 Docs preview for commit 0936686 at: https://63629ce248363a2f0264b3d4--fastapi.netlify.app |
@Xewus idk what to do with pictures. I thought it can be useful if someone decide to translate them. Everything will be in one place |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Кроме указанных двух моментов у меня предложений по улучшению нет. Как понадобится апрувнуть - тыкнешь справа верху на кнопку запрос.
И по картинкам. Учитывая скорость перевода документации - я б не стал надеяться, что кто-то за них возьмётся, а на перестановку ссылок всё-таки тратишь своё время.
|
||
Чтобы **понять основы HTTPS** с точки зрения пользователя, изучите <a href="https://howhttps.works/ru/" class="external-link" target="_blank">https://howhttps.works/</a>. | ||
|
||
Итак, **с точки зрения разработчика** есть несколько вещей, которые надо держать в уме, размышляя о HTTPS: | ||
**С точки зрения разработчика** нужно учитывать следующие особенности работы функционирования HTTPS: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
работы функционирования
Может одно слово оставить?
После тестов даётся ссылка, где можно глянуть результат. Там нет твоей страницы. Видимо запамятовал про |
Но все гораздо сложнее, чем кажется. | ||
|
||
!!! Подсказка | ||
Если вы торопитесь или вам неинтересно, читайте следующие разделы пошаговой инструкции по настройке развертывания с использованием различных технологий. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
кажется, во фразе "по настройке развертывания" есть тавтология
* После этого сертификаты необходимо **обновить**, **вновь получить** от третьей стороны. | ||
* Шифрование соединения происходит на **уровне протокола TCP**. | ||
* Это на один уровень **ниже HTTP**. | ||
* Так что **сертификация и шифрование** выполняется **перед HTTP**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
сертификация
я бы сказала, что "проверка/обработка сертификата" чаще используется в таком контексте
* **HTTPS-сертификаты** "сертифицируют" **определенный домен**, но выбор протокола и шифрование происходит на уровне протокола TCP, когда имя домена еще **неизвестно**. | ||
* **По умолчанию**, это означает, что вы можете иметь только **один HTTPS-сертификат на IP-адрес**. | ||
* Вне зависимости от того, насколько большой у вас сервер или насколько малы приложения, которые имеются на нем. | ||
* Несмортря на это, имеется **решение** данной проблемы. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Несмортря
Очепяточка :)
* **После** установления защищенного соединения, в качестве протокола соединения все еще **используется HTTP**. | ||
* Данные **шифруются**, даже несмотря на то, что они посылаются с использованием **протокола HTTP**. | ||
|
||
Нормальной практикой является ситуация, при которой **одна программа/HTTP-сервер**, запущенный на сервере (машине, хосте, и т.д.) и **управлениющий всеми частями HTTPS**: получение **зашифрованных HTTPS запросов**, отправка **расшифрованных HTTP запросов** конкретному HTTP приложению, запущенному на данном сервере (в нашем случае приложению **FastAPI**), прием **HTTP ответа** от приложения, **его шифрование** при помощи соответствующего **HTTPS сертификата** и его дальнейшая отправка обратно клиенту, используя **HTTPS**. Такой сервер называется **<a href="https://en.wikipedia.org/wiki/TLS_termination_proxy" class="external-link" target="_blank">прокси-сервер завершения TLS</a>**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Нормальной практикой
скорее "распространённой"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
мне кажется, первая часть предложения (до перечисления) слишком сложна для понимая :\
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Яндекс в доках употребляет "терминирование TLS", а не "завершение". Но тут я не знаю, как лучше, просто ссылка для ознакомления:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
и управлениющий всеми частями HTTPS:
Опечатка.
|
||
### TLS с SNI расширением | ||
|
||
**Только один процесс** на сервере может слушать определенный **порт** на определенном **IP-адресе**. Могут быть и другие процессы, слушающие на других портах тот же самый IP-адрес, но может быть только один процесс для каждой комбинации IP-адреса и порта. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
слушающие на других портах тот же самый IP-адрес
IP-адрес точно никто не слушает :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Согласен. И ещё слишком много раз глагол "мочь" повторяется. Могу предложить что-то такое:
Только один процесс на сервере слушает один определённый порт на определённом IP-адресе. Процессы могут прослушивать каждый свои порты на одном и том же IP-адресе, но любой комбинации IP-адреса и порта будет соответствовать только один процесс.
|
||
Испольуя **SNI расширение**, которое обсуждалось выше, прокси-сервер завершения TLS будет проверять какой из TLS (HTTPS) сертификатов он должен использовать для соединения, используя тот, что совпадает с доменом ожидаемым клиентом. | ||
|
||
В этом случает, будет использован сертификат для `someapp.example.com`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В этом случает, будет использован сертификат для `someapp.example.com`. | |
В этом случае будет использован сертификат для `someapp.example.com`. |
|
||
Теперь когда между клиентом и сервером (конкретно между браузером и прокси-сервером завершения TLS) установлено **зашифрованное TCP-соединение**, они могут начать **HTTP-коммуникацию**. | ||
|
||
Итак, клиент шлет **HTTPS-запрос**. Это всего лишь обычный HTTP-запрос переданный через зашифрованное TLS-соединение. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Итак, клиент шлет **HTTPS-запрос**. Это всего лишь обычный HTTP-запрос переданный через зашифрованное TLS-соединение. | |
Итак, клиент шлет **HTTPS-запрос**. Это всего лишь обычный HTTP-запрос, переданный через зашифрованное TLS-соединение. |
|
||
### Расшифровка запроса | ||
|
||
Прокси-сервер завершения TLS будет использовать выбранный способ шифрования для **расшифровки запроса**, и перенаправит **простой (расшифрованный) HTTP-запрос** процессу запущенного приложения (например, процессу Uvicorn с запущенным приложением FastAPI). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Прокси-сервер завершения TLS будет использовать выбранный способ шифрования для **расшифровки запроса**, и перенаправит **простой (расшифрованный) HTTP-запрос** процессу запущенного приложения (например, процессу Uvicorn с запущенным приложением FastAPI). | |
Прокси-сервер завершения TLS будет использовать выбранный способ шифрования для **расшифровки запроса** и перенаправит **простой (расшифрованный) HTTP-запрос** процессу запущенного приложения (например, процессу Uvicorn с запущенным приложением FastAPI). |
|
||
### HTTPS ответ | ||
|
||
Прокси-сервер завершения TLS **зашифрует ответ** с использованием выбранного способа шифрования (который начался с сертификата для `someapp.example.com`), и отправит его обратно браузеру. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Прокси-сервер завершения TLS **зашифрует ответ** с использованием выбранного способа шифрования (который начался с сертификата для `someapp.example.com`), и отправит его обратно браузеру. | |
Прокси-сервер завершения TLS **зашифрует ответ** с использованием выбранного способа шифрования (который начался с сертификата для `someapp.example.com`) и отправит его обратно браузеру. |
|
||
Затем, используя сертификат, клиент и прокси-сервер завершения TLS **определяют способ шифрования** дальнейшего **TCP-соединение**. Этим заканчивается **TLS-рукопожатие**. | ||
|
||
После этого, между клиентом и сервером устанавливается **зашифрованное TCP-соединение**, которое обеспечивает TLS. Это соединение используется для начала фактического **HTTP-соединения**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
После этого, между клиентом и сервером устанавливается **зашифрованное TCP-соединение**, которое обеспечивает TLS. Это соединение используется для начала фактического **HTTP-соединения**. | |
После этого между клиентом и сервером устанавливается **зашифрованное TCP-соединение**, которое обеспечивает TLS. Это соединение используется для начала фактического **HTTP-соединения**. |
|
||
После этого, браузер будет взаимодействовать с данным IP-адресом на **443 порте** (порт HTTPS). | ||
|
||
Первая часть взаимодействия это просто установление соединения мужду клиентом и сервером для согласования используемых криптографических ключей и т.д. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Первая часть взаимодействия это просто установление соединения мужду клиентом и сервером для согласования используемых криптографических ключей и т.д. | |
Первая часть взаимодействия - это просто установление соединения мужду клиентом и сервером для согласования используемых криптографических ключей и т.д. |
|
||
<img src="/img/deployment/https/https07.svg"> | ||
|
||
Клиент (браузер) будет знать, что ответ пришел от верного сервера, потому что будет использоваться криптография, о которой они предварительно договорились при помощи **HTTPS-сертификата**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
будет использоваться криптография
мне кажется, в данном случае "метод шифрования" будет более уместен, хоть это и не калька
📝 Docs preview for commit f00275f at: https://639ce29a1f184e008c3a2dcb--fastapi.netlify.app |
Russian translate
docs/ru/docs/deployment/https.md
related: #1362