Skip to content

Commit 6ab5bdb

Browse files
github-actions[bot]dunglasalexandre-daubois
authored
docs: update translations (#2312)
Translation updates for: production.md . --------- Signed-off-by: Alexandre Daubois <[email protected]> Co-authored-by: dunglas <[email protected]> Co-authored-by: Alexandre Daubois <[email protected]>
1 parent a05e6dd commit 6ab5bdb

6 files changed

Lines changed: 212 additions & 70 deletions

File tree

docs/cn/production.md

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
```dockerfile
1414
FROM dunglas/frankenphp
1515

16-
# 请将 "your-domain-name.example.com" 替换为你的域名
16+
# 请务必将 "your-domain-name.example.com" 替换为你的域名
1717
ENV SERVER_NAME=your-domain-name.example.com
1818
# 如果要禁用 HTTPS,请改用以下值:
1919
#ENV SERVER_NAME=:80
@@ -30,8 +30,8 @@ COPY . /app/public
3030
#COPY . /app
3131
```
3232

33-
有关更多详细信息和选项,请参阅 [构建自定义 Docker 镜像](docker.md)
34-
要了解如何自定义配置,请安装 PHP 扩展和 Caddy 模块。
33+
有关更多详细信息和选项,请参阅 [构建自定义 Docker 镜像](docker.md)
34+
并了解如何自定义配置,安装 PHP 扩展和 Caddy 模块。
3535

3636
如果你的项目使用 Composer,
3737
请务必将其包含在 Docker 镜像中并安装你的依赖。
@@ -51,7 +51,7 @@ services:
5151
- caddy_data:/data
5252
- caddy_config:/config
5353

54-
# Caddy 证书和配置所需的挂载目录
54+
# Caddy 证书和配置所需的卷
5555
volumes:
5656
caddy_data:
5757
caddy_config:
@@ -60,9 +60,9 @@ volumes:
6060
> [!NOTE]
6161
>
6262
> 前面的示例适用于生产用途。
63-
> 在开发中,你可能希望使用挂载目录,不同的 PHP 配置和不同的 `SERVER_NAME` 环境变量值。
63+
> 在开发中,你可能希望使用卷、不同的 PHP 配置和不同的 `SERVER_NAME` 环境变量值。
6464
>
65-
> [Symfony Docker](https://github.com/dunglas/symfony-docker) 项目
65+
> 请查看 [Symfony Docker](https://github.com/dunglas/symfony-docker) 项目
6666
> (使用 FrankenPHP)作为使用多阶段镜像的更高级示例,
6767
> Composer、额外的 PHP 扩展等。
6868

@@ -78,13 +78,13 @@ volumes:
7878
然后,单击“Choose an image”部分下的“Marketplace”选项卡,然后搜索名为“Docker”的应用程序。
7979
这将配置已安装最新版本的 Docker 和 Docker Compose 的 Ubuntu 服务器!
8080

81-
出于测试目的,最便宜的就足够了
81+
出于测试目的,最便宜的计划就足够了
8282
对于实际的生产用途,你可能需要在“general purpose”部分中选择一个计划来满足你的需求。
8383

84-
![使用 Docker 在 DigitalOcean 上部署 FrankenPHP](../digitalocean-droplet.png)
84+
![使用 Docker 在 DigitalOcean 上部署 FrankenPHP](digitalocean-droplet.png)
8585

8686
你可以保留其他设置的默认值,也可以根据需要进行调整。
87-
不要忘记添加你的 SSH 密钥或创建密码,然后点击“完成并创建”按钮。
87+
不要忘记添加你的 SSH 密钥或创建密码,然后点击“Finalize and create”按钮。
8888

8989
然后,在 Droplet 预配时等待几秒钟。
9090
Droplet 准备就绪后,使用 SSH 进行连接:
@@ -137,6 +137,29 @@ docker compose up --wait
137137
>
138138
> Docker 有一个缓存层,请确保每个部署都有正确的构建,或者使用 `--no-cache` 选项重新构建项目以避免缓存问题。
139139

140+
## 在反向代理后运行
141+
142+
如果 FrankenPHP 运行在反向代理或负载均衡器(例如 Nginx、AWS ELB、Google Cloud LB)之后,
143+
你必须在 Caddyfile 中配置 [`trusted_proxies` 全局选项](https://caddyserver.com/docs/caddyfile/options#trusted-proxies),
144+
以便 Caddy 信任传入的 `X-Forwarded-*` 头:
145+
146+
```caddyfile
147+
{
148+
servers {
149+
trusted_proxies static <your-IPs>
150+
}
151+
}
152+
```
153+
154+
如果需要,请将 `<your-IPs>` 替换为你的代理的实际 IP 范围。
155+
156+
此外,你的 PHP 框架也必须配置为信任该代理。
157+
例如,为 Symfony 设置 [`TRUSTED_PROXIES` 环境变量](https://symfony.com/doc/current/deployment/proxies.html),
158+
或为 Laravel 设置 [`trustedproxies` 中间件](https://laravel.com/docs/trustedproxy)。
159+
160+
如果缺少这两项配置,`X-Forwarded-For` 和 `X-Forwarded-Proto` 等头将被忽略,
161+
这可能导致 HTTPS 检测不正确或客户端 IP 地址错误等问题。
162+
140163
## 在多个节点上部署
141164

142165
如果要在计算机集群上部署应用程序,可以使用 [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/),

docs/fr/production.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Exemple avec le service DigitalOcean Domains ("Networking" > "Domains") :
114114
## Déploiement
115115

116116
Copiez votre projet sur le serveur en utilisant `git clone`, `scp`, ou tout autre outil qui pourrait répondre à votre besoin.
117-
Si vous utilisez GitHub, vous voudrez peut-être utiliser [une clef de déploiement](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys).
117+
Si vous utilisez GitHub, vous voudrez peut-être utiliser [une clé de déploiement](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys).
118118
Les clés de déploiement sont également [prises en charge par GitLab](https://docs.gitlab.com/ee/user/project/deploy_keys/).
119119

120120
Exemple avec Git :
@@ -126,15 +126,38 @@ git clone [email protected]:<username>/<project-name>.git
126126
Accédez au répertoire contenant votre projet (`<project-name>`), et démarrez l'application en mode production :
127127

128128
```console
129-
docker compose up -d --wait
129+
docker compose up --wait
130130
```
131131

132132
Votre serveur est opérationnel, et un certificat HTTPS a été automatiquement généré pour vous.
133133
Rendez-vous sur `https://your-domain-name.example.com` !
134134

135135
> [!CAUTION]
136136
>
137-
> Docker peut avoir une couche de cache, assurez-vous d'avoir la bonne version de build pour chaque déploiement ou reconstruisez votre projet avec l'option `--no-cache` pour éviter les problèmes de cache.
137+
> Docker peut avoir une couche de cache, assurez-vous d'avoir le bon build pour chaque déploiement ou reconstruisez votre projet avec l'option `--no-cache` pour éviter les problèmes de cache.
138+
139+
## Exécuter derrière un reverse proxy
140+
141+
Si FrankenPHP est exécuté derrière un reverse proxy ou un load-balancer (par exemple, Nginx, AWS ELB, Google Cloud LB),
142+
vous devez configurer l'[option globale `trusted_proxies`](https://caddyserver.com/docs/caddyfile/options#trusted-proxies) dans votre Caddyfile
143+
afin que Caddy fasse confiance aux en-têtes `X-Forwarded-*` entrants :
144+
145+
```caddyfile
146+
{
147+
servers {
148+
trusted_proxies static <your-IPs>
149+
}
150+
}
151+
```
152+
153+
Remplacez `<your-IPs>` par les plages d'adresses IP réelles de votre proxy si nécessaire.
154+
155+
De plus, votre framework PHP doit également être configuré pour faire confiance au proxy.
156+
Par exemple, définissez la [variable d'environnement `TRUSTED_PROXIES`](https://symfony.com/doc/current/deployment/proxies.html) pour Symfony,
157+
ou le [middleware `trustedproxies`](https://laravel.com/docs/trustedproxy) pour Laravel.
158+
159+
Sans ces deux configurations, les en-têtes tels que `X-Forwarded-For` et `X-Forwarded-Proto` seront ignorés,
160+
ce qui peut entraîner des problèmes tels qu'une détection HTTPS incorrecte ou des adresses IP client erronées.
138161

139162
## Déploiement sur Plusieurs Nœuds
140163

docs/ja/production.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
このチュートリアルでは、Docker Composeを使用して単一サーバーにPHPアプリケーションをデプロイする方法を学びます。
44

5-
Symfonyを使用している場合は、Symfony Dockerプロジェクトの「[本番環境へのデプロイ](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)」ドキュメントを参照してください。
5+
Symfonyを使用している場合は、FrankenPHPを使用しているSymfony Dockerプロジェクトの「[本番環境へのデプロイ](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)」ドキュメントを参照してください。
66

7-
API Platformを使用している場合は[フレームワークのデプロイドキュメント](https://api-platform.com/docs/deployment/)を参照してください。
7+
API Platform(FrankenPHPも使用)を使用している場合は[フレームワークのデプロイドキュメント](https://api-platform.com/docs/deployment/)を参照してください。
88

99
## アプリの準備
1010

@@ -137,6 +137,25 @@ docker compose up --wait
137137
>
138138
> Dockerはキャッシュレイヤーを持つ可能性があるため、各デプロイメントで正しいビルドを持っているか確認するか、キャッシュの問題を避けるために`--no-cache`オプションでプロジェクトを再ビルドしてください。
139139

140+
## リバースプロキシの背後で実行する
141+
142+
FrankenPHPがリバースプロキシまたはロードバランサー(例:Nginx、AWS ELB、Google Cloud LB)の背後で実行されている場合、Caddyが受信する`X-Forwarded-*`ヘッダーを信頼するように、Caddyfileで[`trusted_proxies`グローバルオプション](https://caddyserver.com/docs/caddyfile/options#trusted-proxies)を設定する必要があります:
143+
144+
```caddyfile
145+
{
146+
servers {
147+
trusted_proxies static <your-IPs>
148+
}
149+
}
150+
```
151+
152+
`<your-IPs>`を必要に応じてプロキシの実際のIP範囲に置き換えてください。
153+
154+
さらに、PHPフレームワークもプロキシを信頼するように設定する必要があります。
155+
例えば、Symfonyでは[`TRUSTED_PROXIES`環境変数](https://symfony.com/doc/current/deployment/proxies.html)を設定するか、Laravelでは[`trustedproxies`ミドルウェア](https://laravel.com/docs/trustedproxy)を設定します。
156+
157+
これらの両方の設定がない場合、`X-Forwarded-For`や`X-Forwarded-Proto`のようなヘッダーは無視され、HTTPS検出の誤りや不正なクライアントIPアドレスなどの問題を引き起こす可能性があります。
158+
140159
## 複数ノードへのデプロイ
141160

142161
複数のマシンクラスターにアプリをデプロイしたい場合は、提供されるComposeファイルと互換性のある[Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/)を

docs/pt-br/production.md

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Neste tutorial, aprenderemos como implantar uma aplicação PHP em um único
44
servidor usando o Docker Compose.
55

66
Se você estiver usando o Symfony, leia a documentação
7-
[Implantar em produção](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)
7+
"[Implantar em produção](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)"
88
do projeto Docker do Symfony (que usa FrankenPHP).
99

1010
Se você estiver usando a API Platform (que também usa FrankenPHP), consulte
@@ -17,14 +17,12 @@ Primeiro, crie um `Dockerfile` no diretório raiz do seu projeto PHP:
1717
```dockerfile
1818
FROM dunglas/frankenphp
1919

20-
# Certifique-se de substituir "seu-nome-de-dominio.example.com" pelo seu nome de
21-
# domínio
22-
ENV SERVER_NAME=seu-nome-de-dominio.example.com
20+
# Certifique-se de substituir "your-domain-name.example.com" pelo seu nome de domínio
21+
ENV SERVER_NAME=your-domain-name.example.com
2322
# Se quiser desabilitar o HTTPS, use este valor:
2423
#ENV SERVER_NAME=:80
2524

26-
# Se o seu projeto não estiver usando o diretório "public" como diretório raiz,
27-
# você pode defini-lo aqui:
25+
# Se o seu projeto não estiver usando o diretório "public" como diretório raiz da web, você pode defini-lo aqui:
2826
# ENV SERVER_ROOT=web/
2927

3028
# Habilita as configurações de produção do PHP
@@ -36,12 +34,12 @@ COPY . /app/public
3634
#COPY . /app
3735
```
3836

39-
Consulte [Construindo uma imagem Docker personalizada](docker.md) para mais
37+
Consulte "[Construindo uma imagem Docker personalizada](docker.md)" para mais
4038
detalhes e opções, e para aprender como personalizar a configuração, instalar
4139
extensões PHP e módulos Caddy.
4240

43-
Se o seu projeto usa o Composer, certifique-se de incluí-lo na imagem Docker e
44-
instalar suas dependências.
41+
Se o seu projeto usa o Composer,
42+
certifique-se de incluí-lo na imagem Docker e instalar suas dependências.
4543

4644
Em seguida, adicione um arquivo `compose.yaml`:
4745

@@ -120,7 +118,7 @@ Em seguida, crie um registro DNS do tipo `A` para o seu nome de domínio,
120118
apontando para o endereço IP do seu servidor:
121119

122120
```dns
123-
seu-nome-de-dominio.example.com. IN A <ip-do-seu-servidor>
121+
seu-nome-de-dominio.example.com. IN A <ip-do-seu-servidor>
124122
```
125123

126124
Exemplo com o serviço DigitalOcean Domains ("Networking" > "Domains"):
@@ -164,6 +162,29 @@ Acesse `https://seu-nome-de-dominio.example.com` e divirta-se!
164162
> correta para cada implantação ou reconstrua seu projeto com a opção
165163
> `--no-cache` para evitar problemas de cache.
166164

165+
## Executando por Trás de um Proxy Reverso
166+
167+
Se o FrankenPHP estiver sendo executado por trás de um proxy reverso ou um balanceador de carga (por exemplo, Nginx, AWS ELB, Google Cloud LB),
168+
você deve configurar a [opção global `trusted_proxies`](https://caddyserver.com/docs/caddyfile/options#trusted-proxies) no seu Caddyfile
169+
para que o Caddy confie nos cabeçalhos `X-Forwarded-*` recebidos:
170+
171+
```caddyfile
172+
{
173+
servers {
174+
trusted_proxies static <your-IPs>
175+
}
176+
}
177+
```
178+
179+
Substitua `<your-IPs>` pelos intervalos de IP reais do seu proxy, se necessário.
180+
181+
Além disso, seu framework PHP também deve ser configurado para confiar no proxy.
182+
Por exemplo, defina a [variável de ambiente `TRUSTED_PROXIES`](https://symfony.com/doc/current/deployment/proxies.html) para o Symfony,
183+
ou o [middleware `trustedproxies`](https://laravel.com/docs/trustedproxy) para o Laravel.
184+
185+
Sem ambas as configurações, cabeçalhos como `X-Forwarded-For` e `X-Forwarded-Proto` serão ignorados,
186+
o que pode causar problemas como detecção incorreta de HTTPS ou endereços IP de cliente errados.
187+
167188
## Implantando em múltiplos nós
168189

169190
Se você deseja implantar sua aplicação em um cluster de máquinas, pode usar o

0 commit comments

Comments
 (0)