mirror of
https://github.com/Dichgrem/Blog.git
synced 2025-08-01 09:19:32 -04:00
update:nginx
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
+++
|
+++
|
||||||
title = "Network的艺术:Nginx/Docker快速建站"
|
title = "Network的艺术:Docker建站与反向代理"
|
||||||
date = 2024-07-14
|
date = 2024-07-14
|
||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
@ -261,6 +261,110 @@ sudo docker compose -f docker-compose.nginx.yml up -d
|
|||||||
```
|
```
|
||||||
sudo docker logs searxng
|
sudo docker logs searxng
|
||||||
```
|
```
|
||||||
|
## Caddy
|
||||||
|
|
||||||
|
> Caddy 自 2015 年起用 Go 语言重写,定位为“开箱即用”的现代 Web 服务器,内置自动 Let’s Encrypt 证书管理和续期,默认支持 HTTP/2 及 HTTP/3(QUIC),并通过简洁明了的 Caddyfile 语法极大降低配置成本.
|
||||||
|
|
||||||
|
0. 示例结构:
|
||||||
|
```
|
||||||
|
.
|
||||||
|
└── compose
|
||||||
|
├── certs
|
||||||
|
│ ├── cert.pem
|
||||||
|
│ └── key.pem
|
||||||
|
├── compose.caddy.yml
|
||||||
|
├── compose.miniflux.yml
|
||||||
|
├── compose.searxng.yml
|
||||||
|
└── conf
|
||||||
|
└── Caddyfile
|
||||||
|
```
|
||||||
|
1. 同样创建名为Caddy的docker网络:
|
||||||
|
```
|
||||||
|
docker network create caddy
|
||||||
|
```
|
||||||
|
2. 编写Caddy的compose,可以看到caddy可以自带签发证书:
|
||||||
|
```
|
||||||
|
version: '3.7'
|
||||||
|
|
||||||
|
# 自动签发模式
|
||||||
|
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: caddy:latest
|
||||||
|
container_name: caddy
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./conf:/etc/caddy:ro
|
||||||
|
- caddy_data:/data
|
||||||
|
- caddy_config:/config
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
networks:
|
||||||
|
- caddy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
caddy:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
caddy_data:
|
||||||
|
caddy_config:
|
||||||
|
|
||||||
|
|
||||||
|
# 自备证书模式
|
||||||
|
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: caddy:latest
|
||||||
|
container_name: caddy
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- CADDYPATH=/etc/caddycerts
|
||||||
|
volumes:
|
||||||
|
- ./conf:/etc/caddy
|
||||||
|
- ./certs:/etc/caddycerts
|
||||||
|
- caddy_data:/data
|
||||||
|
- caddy_config:/config
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
networks:
|
||||||
|
- caddy
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
caddy_data:
|
||||||
|
caddy_config:
|
||||||
|
networks:
|
||||||
|
caddy:
|
||||||
|
external: true
|
||||||
|
```
|
||||||
|
3. 编写Caddyfile,可以看到自动开启HTTPS模式:
|
||||||
|
```
|
||||||
|
# 自动签发模式
|
||||||
|
searxng.dich.bid {
|
||||||
|
reverse_proxy searxng:8080 {
|
||||||
|
header_up Host {upstream_hostport}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
miniflux.dich.bid {
|
||||||
|
reverse_proxy miniflux:8080 {
|
||||||
|
header_up Host {upstream_hostport}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# 自备证书模式
|
||||||
|
searxng.dich.bid {
|
||||||
|
reverse_proxy searxng:8080
|
||||||
|
tls /etc/caddycerts/cert.pem /etc/caddycerts/key.pem
|
||||||
|
}
|
||||||
|
miniflux.dich.bid {
|
||||||
|
reverse_proxy miniflux:8080
|
||||||
|
tls /etc/caddycerts/cert.pem /etc/caddycerts/key.pem
|
||||||
|
}
|
||||||
|
```
|
||||||
|
4. Docker compose的用法不再赘述。
|
||||||
|
|
||||||
**FAQ**
|
**FAQ**
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user