mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-20 16:44:27 +01:00
replacing label parser map with improved deserialization implementation, API host check now disabled when in debug mode
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
- [Docker compose guide](#docker-compose-guide)
|
||||
- [Table of content](#table-of-content)
|
||||
- [Suggestions](#suggestions)
|
||||
- [Additional setup](#additional-setup)
|
||||
- [Labels](#labels)
|
||||
- [Syntax](#syntax)
|
||||
@@ -16,6 +17,30 @@
|
||||
- [Docker compose examples](#docker-compose-examples)
|
||||
- [Services URLs for above examples](#services-urls-for-above-examples)
|
||||
|
||||
## Suggestions
|
||||
|
||||
In order for labels to work correctly in `compose.yml`:
|
||||
|
||||
1. `key: value` mapping is suggested for label, instead of `- key=value`
|
||||
2. you need to add `|` in the end for multiline strings.
|
||||
|
||||
Example
|
||||
|
||||
```yaml
|
||||
services:
|
||||
app:
|
||||
...
|
||||
container_name: app
|
||||
labels:
|
||||
proxy.app.middlewares.modify_request.set_headers: |
|
||||
X-Custom-Header1: value1, value2
|
||||
X-Custom-Header2: value3
|
||||
proxy.app.middlewares.modify_request.hide_headers: |
|
||||
X-Custom-Header4
|
||||
X-Custom-Header5
|
||||
X-Custom-Header6
|
||||
```
|
||||
|
||||
## Additional setup
|
||||
|
||||
1. Enable HTTPs _(optional)_
|
||||
@@ -89,7 +114,7 @@
|
||||
| `port` | proxy port **(http/s)** | first port returned from docker | number in range of `1 - 65535` |
|
||||
| `port` | proxy port **(tcp/udp)** | `0:first_port` | `x:y` <br><ul><li>**x**: port for `go-proxy` to listen on.<br>**x** can be 0, which means listen on a random port</li><li>**y**: port or [_service name_](../src/common/constants.go#L55) of target container</li></ul> |
|
||||
| `no_tls_verify` | whether skip tls verify **(https only)** | `false` | boolean |
|
||||
| `path_patterns` | proxy path patterns **(http/s only)**<br> only requests that matched a pattern will be proxied | `/` **(proxy all requests)** | yaml style list[<sup>1</sup>](#list-example) of ([path patterns](https://pkg.go.dev/net/http#hdr-Patterns-ServeMux)) |
|
||||
| `path_patterns` | proxy path patterns **(http/s only)**<br> only requests that matched a pattern will be proxied | `/` **(proxy all requests)** | list[<sup>1</sup>](#list-example) of ([path patterns](https://pkg.go.dev/net/http#hdr-Patterns-ServeMux)) |
|
||||
|
||||
|
||||
[🔼Back to top](#table-of-content)
|
||||
@@ -132,11 +157,11 @@ services:
|
||||
...
|
||||
labels:
|
||||
proxy.nginx.path_patterns: | # remember to add the '|'
|
||||
- GET /
|
||||
- POST /auth
|
||||
GET /
|
||||
POST /auth
|
||||
proxy.nginx.middlewares.modify_request.hide_headers: | # remember to add the '|'
|
||||
- X-Custom-Header1
|
||||
- X-Custom-Header2
|
||||
X-Custom-Header1
|
||||
X-Custom-Header2
|
||||
```
|
||||
|
||||
Include file
|
||||
@@ -145,8 +170,8 @@ Include file
|
||||
service_a:
|
||||
host: service_a.internal
|
||||
path_patterns:
|
||||
- GET /
|
||||
- POST /auth
|
||||
GET /
|
||||
POST /auth
|
||||
middlewares:
|
||||
modify_request:
|
||||
hide_headers:
|
||||
|
||||
@@ -119,9 +119,9 @@ Check https://nginx.org/en/docs/http/ngx_http_realip_module.html for explainatio
|
||||
# docker labels
|
||||
proxy.app1.middlewares.real_ip.header: X-Real-IP
|
||||
proxy.app1.middlewares.real_ip.from: |
|
||||
- 127.0.0.1
|
||||
- 192.168.0.0/16
|
||||
- 10.0.0.0/8
|
||||
127.0.0.1
|
||||
192.168.0.0/16
|
||||
10.0.0.0/8
|
||||
proxy.app1.middlewares.real_ip.recursive: true
|
||||
|
||||
# include file
|
||||
@@ -177,8 +177,8 @@ app1:
|
||||
```yaml
|
||||
# docker labels
|
||||
proxy.app1.middlewares.cidr_whitelist.allow: |
|
||||
- 10.0.0.0/8
|
||||
- 192.168.0.0/16
|
||||
10.0.0.0/8
|
||||
192.168.0.0/16
|
||||
# optional (default: 403)
|
||||
proxy.app1.middlewares.cidr_whitelist.status_code: 403
|
||||
# optional (default: "IP not allowed")
|
||||
@@ -270,8 +270,8 @@ location / {
|
||||
```yaml
|
||||
# docker labels
|
||||
proxy.app1.middlewares.modify_request.hide_headers: |
|
||||
- X-Custom-Header1
|
||||
- X-Custom-Header2
|
||||
X-Custom-Header1
|
||||
X-Custom-Header2
|
||||
|
||||
# include file
|
||||
app1:
|
||||
@@ -339,11 +339,11 @@ Fields:
|
||||
proxy.app1.middlewares.forward_auth.address: https://auth.example.com
|
||||
proxy.app1.middlewares.forward_auth.trust_forward_header: true
|
||||
proxy.app1.middlewares.forward_auth.auth_response_headers: |
|
||||
- X-Auth-Token
|
||||
- X-Auth-User
|
||||
X-Auth-Token
|
||||
X-Auth-User
|
||||
proxy.app1.middlewares.forward_auth.add_auth_cookies_to_response: |
|
||||
- uid
|
||||
- session_id
|
||||
uid
|
||||
session_id
|
||||
|
||||
# include file
|
||||
app1:
|
||||
@@ -421,17 +421,17 @@ services:
|
||||
proxy.#1.middlewares.forward_auth.address: https://your_authentik_forward_address
|
||||
proxy.#1.middlewares.forward_auth.trustForwardHeader: true
|
||||
proxy.#1.middlewares.forward_auth.authResponseHeaders: |
|
||||
- X-authentik-username
|
||||
- X-authentik-groups
|
||||
- X-authentik-email
|
||||
- X-authentik-name
|
||||
- X-authentik-uid
|
||||
- X-authentik-jwt
|
||||
- X-authentik-meta-jwks
|
||||
- X-authentik-meta-outpost
|
||||
- X-authentik-meta-provider
|
||||
- X-authentik-meta-app
|
||||
- X-authentik-meta-version
|
||||
X-authentik-username
|
||||
X-authentik-groups
|
||||
X-authentik-email
|
||||
X-authentik-name
|
||||
X-authentik-uid
|
||||
X-authentik-jwt
|
||||
X-authentik-meta-jwks
|
||||
X-authentik-meta-outpost
|
||||
X-authentik-meta-provider
|
||||
X-authentik-meta-app
|
||||
X-authentik-meta-version
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user