docs: convert PFX to PEM for nginx
Made-with: Cursor
This commit is contained in:
@@ -33,6 +33,31 @@ sudo install -m 0600 /путь/к/privkey.pem /etc/nginx/ssl/kalinamall/git.ka
|
||||
sudo chown root:root /etc/nginx/ssl/kalinamall/*
|
||||
```
|
||||
|
||||
### Сертификат в формате PFX (`.pfx` / `.p12`)
|
||||
|
||||
Nginx **не** читает PFX напрямую в `ssl_certificate` / `ssl_certificate_key` — нужны **PEM**: отдельно **цепочка** (сервер + промежуточные CA) и **закрытый ключ**. PFX — контейнер, из него извлекают OpenSSL (пароль к PFX введёте по запросу):
|
||||
|
||||
```bash
|
||||
# Закрытый ключ (права только root)
|
||||
openssl pkcs12 -in wildcard.pfx -nocerts -nodes -out git.kalinamall.ru.key
|
||||
|
||||
# Сертификаты из контейнера (серверный + при необходимости цепочку соберите в один fullchain ниже)
|
||||
openssl pkcs12 -in wildcard.pfx -clcerts -nokeys -out cert.pem
|
||||
openssl pkcs12 -in wildcard.pfx -cacerts -nokeys -out chain.pem 2>/dev/null || true
|
||||
```
|
||||
|
||||
Часто для **`ssl_certificate`** нужен один файл «сервер + промежуточные»:
|
||||
|
||||
```bash
|
||||
cat cert.pem chain.pem > git.kalinamall.ru-fullchain.pem
|
||||
sudo chmod 0600 git.kalinamall.ru.key
|
||||
sudo chmod 0644 git.kalinamall.ru-fullchain.pem
|
||||
```
|
||||
|
||||
На OpenSSL 3 старые PFX иногда требуют флаг **`-legacy`** к `pkcs12`. При ошибках расшифровки проверьте пароль и точное имя алиаса в PFX (`openssl pkcs12 -in wildcard.pfx -info -noout`).
|
||||
|
||||
Пути к получившимся **`…-fullchain.pem`** и **`…key`** подставьте в конфиг nginx.
|
||||
|
||||
## 3. Map для WebSocket
|
||||
|
||||
Gitea в браузере использует WebSocket. Директива **`map`** должна быть в контексте **`http {}`** один раз на весь nginx.
|
||||
|
||||
Reference in New Issue
Block a user