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
20 changes: 8 additions & 12 deletions src/content/docs/ja/guides/integrations-guide/netlify.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,9 @@ netlify deploy

### Netlify Edge FunctionsでAstroミドルウェアを実行する

Astroミドルウェアは、ビルド時に事前レンダリングされたページに、実行時にオンデマンドでレンダリングされたページに適用されます。
Astroミドルウェアはデフォルトで、ビルド時に事前レンダリングされたページに、実行時にオンデマンドでレンダリングされたページに適用されます。

事前レンダリングされたページのリダイレクト、アクセス制御、またはカスタムレスポンスヘッダーを実装するには、[`middlewareMode`オプション](/ja/reference/adapter-reference/#middlewaremode)を有効にして、Netlify Edge Functionsでミドルウェアを実行します。
事前レンダリングされたページのリダイレクト、アクセス制御、またはカスタムレスポンスヘッダーを実装するには、[`middlewareMode`オプション](/ja/reference/adapter-reference/#middlewaremode)を`edge`に設定して、Netlify Edge Functionsでミドルウェアを実行します。

```js title="astro.config.mjs" ins={7}
import { defineConfig } from 'astro/config';
Expand All @@ -109,12 +109,12 @@ import netlify from '@astrojs/netlify';
export default defineConfig({
// ...
adapter: netlify({
edgeMiddleware: true,
middlewareMode: 'edge',
}),
});
```

`edgeMiddleware`が有効になっている場合、Edge functionsは、静的アセット、事前レンダリングされたページ、オンデマンドでレンダリングされたページを含むすべてのリクエストに対してミドルウェアコードを実行します。
`middlewareMode`が`edge`に設定されている場合、Edge functionsは、静的アセット、事前レンダリングされたページ、オンデマンドでレンダリングされたページを含むすべてのリクエストに対してミドルウェアコードを実行します。

オンデマンドでレンダリングされたページの場合、`context.locals`オブジェクトはJSONを使用してシリアル化され、レンダリングを実行するサーバーレス関数にヘッダーで送信されます。セキュリティ対策として、サーバーレス関数は、生成されたEdge functionsからのリクエストでない限り、`403 Forbidden`レスポンスでリクエストを拒否します。

Expand Down Expand Up @@ -407,23 +407,19 @@ Netlifyサイトの環境変数を開発環境に注入します。

これにより、本番環境と同じ値を開発時に使用できます。環境ごとに異なる変数を使用する方法など、詳細については[Netlifyの環境変数に関するドキュメント](https://docs.netlify.com/build/environment-variables/overview/)を参照してください。

## 実験的な機能

以下の機能も利用可能ですが、将来のアップデートで破壊的な変更が加えられる可能性があります。この機能をプロジェクトで使用している場合は、[`@astrojs/netlify` CHANGELOG](https://github.com/withastro/astro/tree/main/packages/integrations/netlify/CHANGELOG.md)で更新情報を確認してください。

### `experimentalStaticHeaders`
### `staticHeaders`

<p>
**Type:** `boolean` <br />
**Default:** `false`<br />
<Since v="6.4.0" pkg="@astrojs/netlify"/>
<Since v="7.0.0" pkg="@astrojs/netlify"/>
</p>

Netlifyの設定で事前レンダリングされたページのカスタムヘッダーを指定できるようにします。

有効にすると、アダプターはコンテンツセキュリティポリシーなどのAstroの機能によって提供された[静的ヘッダーをフレームワークAPI設定ファイル](https://docs.netlify.com/frameworks-api/#headers)に保存します。

たとえば、[CSP設定](/ja/reference/configuration-reference/)を有効にしている場合、`experimentalStaticHeaders`を使用して、`<meta>`要素を作成する代わりにCSP `headers`をNetlify設定に追加できます。
たとえば、[Content Security Policyの設定](/ja/reference/configuration-reference/#securitycsp)を有効にしている場合、`staticHeaders`を使用して、`<meta>`要素を作成する代わりにCSP `headers`をNetlify設定に追加できます。

```js title="astro.config.mjs" {9}
import { defineConfig } from 'astro/config';
Expand All @@ -434,7 +430,7 @@ export default defineConfig({
csp: true
},
adapter: netlify({
experimentalStaticHeaders: true
staticHeaders: true
})
});
```
Expand Down
Loading