Browse Source
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>pull/10324/head
committed by
GitHub
1 changed files with 200 additions and 0 deletions
@ -0,0 +1,200 @@ |
|||
# HTTPS ã«ã€ã㊠|
|||
|
|||
HTTPSã¯åã«ãæå¹ãããç¡å¹ããã§æ±ºãŸããã®ã ãšæããã¡ã§ãã |
|||
|
|||
ãããããããããã¯ããã«è€éã§ãã |
|||
|
|||
!!! tip |
|||
ããæ¥ãã§ããããHTTPSã®ä»çµã¿ã«ã€ããŠæ°ã«ããªãã®ã§ããã°ã次ã®ã»ã¯ã·ã§ã³ã«é²ã¿ãããŸããŸãªãã¯ããã¯ã䜿ã£ãŠãã¹ãŠãã»ããã¢ããããã¹ãããã»ãã€ã»ã¹ãããã®æé ãã芧ãã ããã |
|||
|
|||
å©çšè
ã®èŠç¹ãã **HTTPS ã®åºæ¬ãåŠã¶**ã«åœãã£ãŠã¯ã次ã®ãªãœãŒã¹ããªã¹ã¹ã¡ããŸã: <a href="https://howhttps.works/" class="external-link" target="_blank">https://howhttps.works/</a>. |
|||
|
|||
ããŠã**éçºè
ã®èŠç¹**ãããHTTPSã«ã€ããŠèããéã«å¿µé ã«çœ®ãã¹ãããšãããã€ãã¿ãŠãããŸãããïŒ |
|||
|
|||
* HTTPSã®å Žåã**ãµãŒã**ã¯**第äžè
**ã«ãã£ãŠçæããã**ã蚌ææžããæã€**å¿
èŠããããŸãã |
|||
* ãããã®èšŒææžã¯ãçæãããããã®ã§ã¯ãªããå®éã«ã¯ç¬¬äžè
ãã**ååŸ**ããããã®ã§ãã |
|||
* 蚌ææžã«ã¯**æå¹æé**ããããŸãã |
|||
* ã€ãŸãããã倱å¹ããŸãã |
|||
* ãã®ãã**æŽæ°**ããã第äžè
ãã**å床ååŸ**ããå¿
èŠããããŸãã |
|||
* æ¥ç¶ã®æå·åã¯**TCPã¬ãã«**ã§è¡ãããŸãã |
|||
* ããã¯**HTTPã®1ã€äž**ã®ã¬ã€ã€ãŒã§ãã |
|||
* ã€ãŸãã**蚌ææžãšæå·å**ã®åŠçã¯ã**HTTPã®å**ã«è¡ãããŸãã |
|||
* **TCP㯠"ãã¡ã€ã³ "ã«ã€ããŠç¥ããŸãã**ãIPã¢ãã¬ã¹ã«ã€ããŠã®ã¿ç¥ã£ãŠããŸãã |
|||
* èŠæ±ããã**ç¹å®ã®ãã¡ã€ã³**ã«é¢ããæ
å ±ã¯ã**HTTPããŒã¿**ã«å
¥ããŸãã |
|||
* **HTTPS蚌ææž**ã¯ã**ç¹å®ã®ãã¡ã€ã³**ãã蚌æãããŸããããããã³ã«ãšæå·åã¯TCPã¬ãã«ã§è¡ãããã©ã®ãã¡ã€ã³ãæ±ãããŠãããã**ç¥ãå**ã«è¡ãããŸãã |
|||
* **ããã©ã«ãã§ã¯**ã**IPã¢ãã¬ã¹ããšã«1ã€ã®HTTPS蚌ææž**ããæãŠãªãããšã«ãªããŸãã |
|||
* ããã¯ããµãŒããŒã®èŠæš¡ãã¢ããªã±ãŒã·ã§ã³ã®èŠæš¡ã«å¯ããŸããã |
|||
* ããããããã«ã¯**解決ç**ããããŸãã |
|||
* **TLS**ãããã³ã«(HTTPã®åã«ãTCPã¬ãã«ã§æå·åãåŠçãããã®)ã«ã¯ã**<a href="https://en.wikipedia.org/wiki/Server_Name_Indication" class="external-link" target="_blank"><abbr title="ãµãŒããŒå衚瀺">SNI</abbr></a>**ãšåŒã°ãã**æ¡åŒµ**ããããŸãã |
|||
* ãã®SNIæ¡åŒµæ©èœã«ããã1ã€ã®ãµãŒããŒïŒ**åäžã®IPã¢ãã¬ã¹**ãæã€ïŒã**è€æ°ã®HTTPS蚌ææž**ãæã¡ã**è€æ°ã®HTTPSãã¡ã€ã³/ã¢ããªã±ãŒã·ã§ã³**ã«ãµãŒãã¹ãæäŸã§ããããã«ãªããŸãã |
|||
* ãããæ©èœããããã«ã¯ã**ãããªãã¯IPã¢ãã¬ã¹**ã§ãªãã¹ã³ããŠããããµãŒããŒäžã§åäœããŠãã**åäžã®**ã³ã³ããŒãã³ã(ããã°ã©ã )ãããµãŒããŒå
ã®**ãã¹ãŠã®HTTPS蚌ææž**ãæã£ãŠããå¿
èŠããããŸãã |
|||
|
|||
* ã»ãã¥ã¢ãªæ¥ç¶ãååŸãã**åŸ**ã§ããéä¿¡ãããã³ã«ã¯**HTTPã®ãŸãŸ**ã§ãã |
|||
* ã³ã³ãã³ãã¯**HTTPãããã³ã«**ã§éä¿¡ãããŠããã«ããããããã**æå·å**ãããŠããŸãã |
|||
|
|||
|
|||
ãµãŒããŒïŒãã·ã³ããã¹ããªã©ïŒäžã§**1ã€ã®ããã°ã©ã /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 Termination Proxy</a>**ãšåŒã°ããŸãã |
|||
|
|||
TLS Termination ProxyãšããŠäœ¿ãããªãã·ã§ã³ã«ã¯ã以äžã®ãããªãã®ããããŸãïŒ |
|||
|
|||
* TraefikïŒèšŒææžã®æŽæ°ã察å¿ïŒ |
|||
* Caddy (蚌ææžã®æŽæ°ã察å¿) |
|||
* Nginx |
|||
* HAProxy |
|||
|
|||
|
|||
## Let's Encrypt |
|||
|
|||
Let's Encrypt以åã¯ããããã®**HTTPS蚌ææž**ã¯ä¿¡é Œã§ãã第äžè
ã«ãã£ãŠè²©å£²ãããŠããŸããã |
|||
|
|||
ãããã®èšŒææžãååŸããããã®æç¶ãã¯é¢åã§ãããªãã®æžé¡ãå¿
èŠãšãã蚌ææžã¯ããªãé«äŸ¡ãªãã®ã§ããã |
|||
|
|||
ããããã®åŸã**<a href="https://letsencrypt.org/" class="external-link" target="_blank">Let's Encrypt</a>** ãäœãããŸããã |
|||
|
|||
ããã¯Linux Foundationã®ãããžã§ã¯ãããçãŸãããã®ã§ãã èªååãããæ¹æ³ã§ã**HTTPS蚌ææžãç¡æã§**æäŸããŸãããããã®èšŒææžã¯ããã¹ãŠã®æšæºçãªæå·åã»ãã¥ãªãã£ã䜿çšãããŸãçåœïŒçŽ3ã¶æïŒã§ããããããã£ã寿åœã®çãã«ãã£ãŠã**ã»ãã¥ãªãã£ã¯å®éã«åªããŠããŸã**ã |
|||
|
|||
ãã¡ã€ã³ã¯å®å
šã«æ€èšŒããã蚌ææžã¯èªåçã«çæãããŸãããŸãã蚌ææžã®æŽæ°ãèªååãããŸãã |
|||
|
|||
ãã®ã¢ã€ãã¢ã¯ããããã®èšŒææžã®ååŸãšæŽæ°ãèªååããããšã§ã**å®å
šãªHTTPSããç¡æã§ãæ°žé ã«**å©çšã§ããããã«ããããšã§ãã |
|||
|
|||
## éçºè
ã®ããã® HTTPS |
|||
|
|||
ããã§ã¯ãHTTPS APIãã©ã®ããã«èŠãããã®äŸããäž»ã«éçºè
ã«ãšã£ãŠéèŠãªã¢ã€ãã¢ã«æ³šæãæããªãããã¹ãããã»ãã€ã»ã¹ãããã§èª¬æããŸãã |
|||
|
|||
### ãã¡ã€ã³å |
|||
|
|||
ã¹ãããã®åãã¯ã**ãã¡ã€ã³å**ã**ååŸããããš**ããå§ãŸãã§ãããããã®åŸãDNSãµãŒããŒïŒããããåãã¯ã©ãŠããããã€ããŒïŒã«èšå®ããŸãã |
|||
|
|||
ããããã¯ã©ãŠããµãŒããŒïŒä»®æ³ãã·ã³ïŒãããã«é¡ãããã®ãæã«å
¥ãã<abbr title="å€ãããªã">åºå®ã®</abbr> **ãããªãã¯IPã¢ãã¬ã¹**ãæã€ããšã«ãªãã§ãããã |
|||
|
|||
DNSãµãŒããŒã§ã¯ã**ååŸãããã¡ã€ã³**ãããªãã®ãµãŒããŒã®ãããªãã¯**IPã¢ãã¬ã¹**ã«åããã¬ã³ãŒãïŒã`Aã¬ã³ãŒã`ãïŒãèšå®ããŸãã |
|||
|
|||
ããã¯ãããããæåã®1åã ãããããã¹ãŠãã»ããã¢ãããããšãã«è¡ãã§ãããã |
|||
|
|||
!!! tip |
|||
ãã¡ã€ã³åã®è©±ã¯HTTPSã«é¢ãã話ã®ã¯ããåã«ãããŸããããã¹ãŠããã¡ã€ã³ãšIPã¢ãã¬ã¹ã«äŸåãããããããã§èšåãã䟡å€ããããŸãã |
|||
|
|||
### DNS |
|||
|
|||
ã§ã¯ãå®éã®HTTPSã®éšåã«æ³šç®ããŠã¿ããã |
|||
|
|||
ãŸãããã©ãŠã¶ã¯**DNSãµãŒããŒ**ã«**ãã¡ã€ã³ã«å¯ŸããIP**ãäœã§ãããã確èªããŸããä»åã¯ã`someapp.example.com`ãšããŸãã |
|||
|
|||
DNSãµãŒããŒã¯ããã©ãŠã¶ã«ç¹å®ã®**IPã¢ãã¬ã¹**ã䜿çšããããã«æ瀺ããŸãããã®IPã¢ãã¬ã¹ã¯ãDNSãµãŒããŒã§èšå®ãããããªãã®ãµãŒããŒã䜿çšãããããªãã¯IPã¢ãã¬ã¹ã«ãªããŸãã |
|||
|
|||
<img src="/img/deployment/https/https01.svg"> |
|||
|
|||
### TLS Handshake ã®éå§ |
|||
|
|||
ãã©ãŠã¶ã¯IPã¢ãã¬ã¹ãš**ããŒã443**ïŒHTTPSããŒãïŒã§éä¿¡ããŸãã |
|||
|
|||
éä¿¡ã®æåã®éšåã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®æ¥ç¶ã確ç«ãã䜿çšããæå·éµãªã©ã決ããã ãã§ãã |
|||
|
|||
<img src="/img/deployment/https/https02.svg"> |
|||
|
|||
TLSæ¥ç¶ã確ç«ããããã®ã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®ãã®ãããšãã¯ã**TLSãã³ãã·ã§ã€ã¯**ãšåŒã°ããŸãã |
|||
|
|||
### SNIæ¡åŒµæ©èœä»ãã®TLS |
|||
|
|||
ãµãŒããŒå
ã®**1ã€ã®ããã»ã¹**ã ãããç¹å® ã®**IPã¢ãã¬ã¹**ã®ç¹å®ã®**ããŒã** ã§åŸ
ã¡åããããšãã§ããŸãã |
|||
|
|||
åãIPã¢ãã¬ã¹ã®ä»ã®ããŒãã§ä»ã®ããã»ã¹ããªãã¹ã³ããŠããå¯èœæ§ããããŸãããIPã¢ãã¬ã¹ãšããŒãã®çµã¿åããããšã«1ã€ã ãã§ãã |
|||
|
|||
TLSïŒHTTPSïŒã¯ããã©ã«ãã§`443`ãšããç¹å®ã®ããŒãã䜿çšãããã€ãŸãããããå¿
èŠãªããŒãã§ãã |
|||
|
|||
ãã®ããŒãããªãã¹ã³ã§ããã®ã¯1ã€ã®ããã»ã¹ã ããªã®ã§ããããå®è¡ããããã»ã¹ã¯**TLS Termination Proxy**ãšãªããŸãã |
|||
|
|||
TLS Termination Proxyã¯ã1ã€ä»¥äžã®**TLS蚌ææž**ïŒHTTPS蚌ææžïŒã«ã¢ã¯ã»ã¹ã§ããŸãã |
|||
|
|||
åè¿°ãã**SNIæ¡åŒµæ©èœ**ã䜿çšããŠãTLS Termination Proxy ã¯ãå©çšå¯èœãªTLS (HTTPS)蚌ææžã®ã©ããæ¥ç¶å
ãšããŠäœ¿çšãã¹ããããã§ãã¯ããã¯ã©ã€ã¢ã³ããæåŸ
ãããã¡ã€ã³ã«äžèŽãããã®ã䜿çšããŸãã |
|||
|
|||
ä»åã¯ã`someapp.example.com`ã®èšŒææžã䜿ãããšã«ãªããŸãã |
|||
|
|||
<img src="/img/deployment/https/https03.svg"> |
|||
|
|||
ã¯ã©ã€ã¢ã³ãã¯ããã®TLS蚌ææžãçæãããšã³ãã£ãã£ïŒãã®å Žåã¯Let's Encryptã§ãããããã«ã€ããŠã¯åŸè¿°ããŸãïŒããã§ã«**ä¿¡é Œ**ããŠããããããã®èšŒææžãæå¹ã§ããããšã**æ€èšŒ**ããããšãã§ããŸãã |
|||
|
|||
次ã«èšŒææžã䜿çšããŠãã¯ã©ã€ã¢ã³ããšTLS Termination Proxy ã¯ã **TCPéä¿¡**ã®æ®ãã**ã©ã®ããã«æå·åãããã決å®**ããŸããããã§**TLSãã³ãã·ã§ã€ã¯**ã®éšåãå®äºããŸãã |
|||
|
|||
ãã®åŸãã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯**æå·åãããTCPæ¥ç¶**ãæã¡ãŸãããããŠããã®æ¥ç¶ã䜿ã£ãŠå®éã®**HTTPéä¿¡**ãéå§ããããšãã§ããŸãã |
|||
|
|||
ããã**HTTPS**ã§ãããçŽç²ãªïŒæå·åãããŠããªãïŒTCPæ¥ç¶ã§ã¯ãªãã**ã»ãã¥ã¢ãªTLSæ¥ç¶**ã®äžã«**HTTP**ãããã ãã§ãã |
|||
|
|||
!!! tip |
|||
éä¿¡ã®æå·åã¯ãHTTPã¬ãã«ã§ã¯ãªãã**TCPã¬ãã«**ã§è¡ãããããšã«æ³šæããŠãã ããã |
|||
|
|||
### HTTPS ãªã¯ãšã¹ã |
|||
|
|||
ããã§ã¯ã©ã€ã¢ã³ããšãµãŒããŒïŒå
·äœçã«ã¯ãã©ãŠã¶ãšTLS Termination ProxyïŒã¯**æå·åãããTCPæ¥ç¶**ãæã€ããšã«ãªãã**HTTPéä¿¡**ãéå§ããããšãã§ããŸãã |
|||
|
|||
ããã§ãã¯ã©ã€ã¢ã³ãã¯**HTTPSãªã¯ãšã¹ã**ãéä¿¡ããŸããããã¯ãæå·åãããTLSã³ãã¯ã·ã§ã³ãä»ããåãªãHTTPãªã¯ãšã¹ãã§ãã |
|||
|
|||
<img src="/img/deployment/https/https04.svg"> |
|||
|
|||
### ãªã¯ãšã¹ãã®åŸ©å·å |
|||
|
|||
TLS Termination Proxy ã¯ãåæãåããŠããæå·åã䜿çšããŠã**ãªã¯ãšã¹ãã埩å·å**ãã**ãã¬ãŒã³ (埩å·åããã) HTTP ãªã¯ãšã¹ã** ãã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŠããããã»ã¹ (äŸãã°ãFastAPI ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããŠãã Uvicorn ãæã€ããã»ã¹) ã«éä¿¡ããŸãã |
|||
|
|||
<img src="/img/deployment/https/https05.svg"> |
|||
|
|||
### HTTP ã¬ã¹ãã³ã¹ |
|||
|
|||
ã¢ããªã±ãŒã·ã§ã³ã¯ãªã¯ãšã¹ããåŠçãã**ãã¬ãŒã³(æå·åãããŠããªã)HTTPã¬ã¹ãã³ã¹** ãTLS Termination Proxyã«éä¿¡ããŸãã |
|||
|
|||
<img src="/img/deployment/https/https06.svg"> |
|||
|
|||
### HTTPS ã¬ã¹ãã³ã¹ |
|||
|
|||
TLS Termination Proxyã¯æ¬¡ã«ãäºåã«åæãåããŠããæå·(`someapp.example.com`ã®èšŒææžããå§ãŸã)ã䜿ã£ãŠ**ã¬ã¹ãã³ã¹ãæå·åã**ããã©ãŠã¶ã«éãè¿ãã |
|||
|
|||
ãã®åŸãã©ãŠã¶ã§ã¯ãã¬ã¹ãã³ã¹ãæå¹ã§æ£ããæå·ããŒã§æå·åãããŠããããšãªã©ãæ€èšŒããŸãããããŠããã©ãŠã¶ã¯ã¬ã¹ãã³ã¹ã**埩å·å**ããŠåŠçããŸãã |
|||
|
|||
<img src="/img/deployment/https/https07.svg"> |
|||
|
|||
ã¯ã©ã€ã¢ã³ãïŒãã©ãŠã¶ïŒã¯ãã¬ã¹ãã³ã¹ãæ£ãããµãŒããŒããæ¥ãããšãç¥ãããšãã§ããŸãã ãªããªãããã®ãµãŒããŒã¯ã以åã«**HTTPS蚌ææž**ã䜿ã£ãŠåæããæå·ã䜿ã£ãŠããããã§ãã |
|||
|
|||
### è€æ°ã®ã¢ããªã±ãŒã·ã§ã³ |
|||
|
|||
åããµãŒããŒïŒãŸãã¯è€æ°ã®ãµãŒããŒïŒã«ãäŸãã°ä»ã®APIããã°ã©ã ãããŒã¿ããŒã¹ãªã©ã**è€æ°ã®ã¢ããªã±ãŒã·ã§ã³**ãååšããå¯èœæ§ããããŸãã |
|||
|
|||
ç¹å®ã®IPãšããŒãïŒãã®äŸã§ã¯TLS Termination ProxyïŒãæ±ãããšãã§ããã®ã¯1ã€ã®ããã»ã¹ã ãã§ãããä»ã®ã¢ããªã±ãŒã·ã§ã³/ããã»ã¹ããåã**ãããªãã¯IPãšããŒã**ã®çµã¿åããã䜿çšããããšããªãéãããµãŒããŒäžã§å®è¡ããããšãã§ããŸãã |
|||
|
|||
<img src="/img/deployment/https/https08.svg"> |
|||
|
|||
ããããã°ãTLS Termination Proxy ã¯ã**è€æ°ã®ãã¡ã€ã³**ãè€æ°ã®ã¢ããªã±ãŒã·ã§ã³ã®HTTPSãšèšŒææžãåŠçããããããã®ã±ãŒã¹ã§é©åãªã¢ããªã±ãŒã·ã§ã³ã«ãªã¯ãšã¹ããéä¿¡ããããšãã§ããŸãã |
|||
|
|||
### 蚌ææžã®æŽæ° |
|||
|
|||
å°æ¥ã®ããæç¹ã§ãå蚌ææžã¯ïŒååŸåŸçŽ3ã¶æã§ïŒ**倱å¹**ããŸãã |
|||
|
|||
ãã®åŸãLet's Encryptãšéä¿¡ããå¥ã®ããã°ã©ã ïŒå¥ã®ããã°ã©ã ã§ããå Žåãããã°ãåãTLS Termination Proxyã§ããå ŽåãããïŒã«ãã£ãŠã蚌ææžãæŽæ°ããŸãã |
|||
|
|||
<img src="/img/deployment/https/https.svg"> |
|||
|
|||
**TLS蚌ææž**ã¯ãIPã¢ãã¬ã¹ã§ã¯ãªãã**ãã¡ã€ã³åã«é¢é£ä»ããããŠ**ããŸãã |
|||
|
|||
ãããã£ãŠã蚌ææžãæŽæ°ããããã«ãæŽæ°ããã°ã©ã ã¯ãèªèšŒå±ïŒLet's EncryptïŒã«å¯ŸããŠã**ãã®ãã¡ã€ã³ãæ¬åœã«ãææããã管çããŠãã**ããšã**蚌æ**ããå¿
èŠããããŸãã |
|||
|
|||
ãã®ããã«ããŸãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«å¯Ÿå¿ããããã«ãããã€ãã®æ¹æ³ããããŸãããã䜿ãããæ¹æ³ãšããŠã¯: |
|||
|
|||
* **ããã€ãã®DNSã¬ã³ãŒããä¿®æ£ããŸãã** |
|||
* ãããããããã«ã¯ãæŽæ°ããã°ã©ã ã¯DNSãããã€ããŒã®APIããµããŒãããå¿
èŠããããŸãããããã£ãŠã䜿çšããŠããDNSãããã€ããŒã«ãã£ãŠã¯ããã®ãªãã·ã§ã³ã䜿ããå Žåãããã°ã䜿ããªãå ŽåããããŸãã |
|||
* ãã¡ã€ã³ã«é¢é£ä»ãããããããªãã¯IPã¢ãã¬ã¹äžã§ãïŒå°ãªããšã蚌ææžååŸããã»ã¹äžã¯ïŒ**ãµãŒããŒ**ãšããŠå®è¡ããŸãã |
|||
* äžã§è¿°ã¹ãããã«ãç¹å®ã®IPãšããŒãã§ãªãã¹ã³ã§ããããã»ã¹ã¯1ã€ã ãã§ãã |
|||
* ããã¯ãåãTLS Termination Proxyã蚌ææžã®æŽæ°åŠçãè¡ãå Žåã«éåžžã«äŸ¿å©ãªçç±ã®1ã€ã§ãã |
|||
* ããã§ãªããã°ãTLS Termination Proxyãäžæçã«åæ¢ãã蚌ææžãååŸããããã«æŽæ°ããã°ã©ã ãèµ·åããTLS Termination Proxyã§èšŒææžãèšå®ããTLS Termination Proxyãåèµ·åããªããã°ãªããªããããããŸãããTLS Termination Proxyãåæ¢ããŠããéã¯ã¢ããªãå©çšã§ããªããªããããããã¯çæ³çã§ã¯ãããŸããã |
|||
|
|||
|
|||
ã¢ããªãæäŸããªãããã®ãããªæŽæ°åŠçãè¡ãããšã¯ãã¢ããªã±ãŒã·ã§ã³ã»ãµãŒããŒïŒUvicornãªã©ïŒã§TLS蚌ææžãçŽæ¥äœ¿çšããã®ã§ã¯ãªããTLS Termination Proxyã䜿çšããŠ**HTTPSãåŠçããå¥ã®ã·ã¹ãã **ãçšæããããªãäž»ãªçç±ã®1ã€ã§ãã |
|||
|
|||
## ãŸãšã |
|||
|
|||
**HTTPS**ãæã€ããšã¯éåžžã«éèŠã§ãããã»ãšãã©ã®å Žåãããªã**ã¯ãªãã£ã«ã«**ã§ããéçºè
ãšã㊠HTTPS ã«é¢ããåŽåã®ã»ãšãã©ã¯ããããã®**æŠå¿µãšãã®ä»çµã¿ãç解ãã**ããšã§ãã |
|||
|
|||
ããããã²ãšãã³**éçºè
åãHTTPS**ã®åºæ¬çãªæ
å ±ãç¥ãã°ãç°¡åãªæ¹æ³ã§ãã¹ãŠã管çããããã«ãããŸããŸãªããŒã«ãçµã¿åãããŠèšå®ããããšãã§ããŸãã |
|||
|
|||
次ã®ç« ã§ã¯ã**FastAPI** ã¢ããªã±ãŒã·ã§ã³ã®ããã« **HTTPS** ãã»ããã¢ããããæ¹æ³ã«ã€ããŠãããã€ãã®å
·äœäŸã玹ä»ããŸããð |
LoadingâŠ
Reference in new issue