Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions src/content/docs/ko/guides/server-islands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,20 +97,16 @@ const productId = url.searchParams.get('product');

## 암호화 키 재사용

Astro는 [cryptography](https://developer.mozilla.org/en-US/docs/Glossary/Cryptography)를 사용하여 서버 아일랜드에 전달된 props를 암호화합니다. 이는 실수로 비밀이 유출되는 것을 방지합니다. props는 빌드 중에 생성된 키를 사용하여 암호화됩니다.
Astro는 [cryptography](https://developer.mozilla.org/ko/docs/Glossary/Cryptography)를 사용하여 서버 아일랜드로 전달되는 props를 암호화합니다. 이를 통해 민감한 데이터가 우발적으로 노출되지 않도록 보호합니다. 이 암호화는 각 빌드에서 생성되어 서버 번들에 포함되는 새로운 무작위 키를 사용합니다.

대부분의 호스트의 경우, 이는 투명하게 처리되며 개발자가 별도로 할 일은 없습니다. Kubernetes와 같은 환경에서 롤링 배포를 사용하는 경우, 프런트엔드와 백엔드가 일시적으로 동기화되지 않고 키가 일치하지 않는 문제가 발생할 수 있습니다.
대부분의 배포 호스트는 프런트엔드와 백엔드를 자동으로 동기화합니다. 그러나 롤링 배포, 다중 지역 호스팅 또는 서버 아일랜드가 포함된 페이지를 캐싱하는 CDN을 사용하는 경우 지속적인 암호화 키가 필요할 수 있습니다.

이를 해결하기 위해 Astro CLI로 키를 생성한 다음 모든 배포에서 재사용할 수 있습니다. 이를 통해 각 사용자의 프런트엔드가 올바른 키를 가진 백엔드와 통신하도록 보장합니다.
props를 암호화하는 프런트엔드 자산과 이를 복호화하는 백엔드 함수가 일시적으로 다른 키를 사용할 수 있는 롤링 배포 환경 (예: Kubernetes)이나 CDN이 이전 키를 사용하여 빌드된 페이지를 제공하는 경우 서버 아일랜드로 전달된 암호화된 props는 복호화할 수 없습니다.

`astro create-key`를 사용하여 키를 생성하세요:
이러한 상황에서는 Astro CLI를 사용하여 재사용 가능한 인코딩된 암호화 키를 생성하고 이를 빌드 환경의 환경 변수로 설정하세요.

```shell
astro create-key
```

이는 `.env` 파일과 같이 호스팅 환경에서 필요로 하는 곳에 `ASTRO_KEY` 환경 변수로 설정할 수 있는 키를 생성합니다:

```ini title=".env"
ASTRO_KEY=zyM5c0qec+1Sgi4K+AejFX9ufbig7/7wIZjxOjti9Po=
```
이 값을 사용하여 `ASTRO_KEY` 환경 변수 (예: `.env` 파일)를 구성하고 이를 CI/CD 또는 호스트의 빌드 설정에 포함하세요. 이렇게 하면 생성된 번들에서 항상 동일한 키가 재사용되어 암호화 및 복호화가 동기화됩니다.