]> git.proxmox.com Git - pmg-docs.git/blame - pmgproxy.adoc
Drop note for before-queue filtering
[pmg-docs.git] / pmgproxy.adoc
CommitLineData
fa49ddc5
DM
1ifdef::manvolnum[]
2pmgproxy(8)
3===========
4:pmg-toplevel:
5
6NAME
7----
8
9pmgproxy - Proxmox Mail Gateway API Proxy Daemon
10
11
12SYNOPSIS
13--------
14
15include::pmgproxy.8-synopsis.adoc[]
16
17DESCRIPTION
18-----------
19endif::manvolnum[]
20
21ifndef::manvolnum[]
22pmgproxy - Proxmox Mail Gateway API Proxy Daemon
23================================================
24endif::manvolnum[]
25
26This daemon exposes the whole {pmg} API on TCP port 8006 using
27HTTPS. It runs as user `www-data` and has very limited permissions.
206ef998 28Operations requiring more permissions are forwarded to the local
fa49ddc5
DM
29`pmgdaemon`.
30
31Requests targeted for other nodes are automatically forwarded to those
32nodes. This means that you can manage your whole cluster by connecting
33to a single {pmg} node.
34
35Alternative HTTPS certificate
36-----------------------------
37
206ef998
SI
38By default, pmgproxy uses the certificate `/etc/pmg/pmg-api.pem` for HTTPS
39connections. This certificate is self signed, and therefore not trusted by
40browsers and operating systems by default. You can simply replace this
41certificate with your own (please include the key inside the '.pem' file).
fa49ddc5
DM
42
43
e1afb181
SI
44Host based Access Control
45-------------------------
46
bfdb1534 47It is possible to configure Apache2-like access control
e1afb181
SI
48lists. Values are read from file `/etc/default/pmgproxy`. For example:
49
50----
51ALLOW_FROM="10.0.0.1-10.0.0.5,192.168.0.0/22"
52DENY_FROM="all"
53POLICY="allow"
54----
55
56IP addresses can be specified using any syntax understood by `Net::IP`. The
57name `all` is an alias for `0/0`.
58
59The default policy is `allow`.
60
61[width="100%",options="header"]
62|===========================================================
63| Match | POLICY=deny | POLICY=allow
64| Match Allow only | allow | allow
65| Match Deny only | deny | deny
66| No match | deny | allow
67| Match Both Allow & Deny | deny | allow
68|===========================================================
69
70
71SSL Cipher Suite
72----------------
73
74You can define the cipher list in `/etc/default/pmgproxy`, for example
75
76 CIPHERS="ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256"
77
bfdb1534 78Above is the default. See the `ciphers(1)` man page from the `openssl`
e1afb181
SI
79package for a list of all available options.
80
f5a90440
TL
81The first of these ciphers, available to both the client and the `pmgproxy`,
82will be used.
83
84Additionally you can allow the client to choose the cipher from the list above
85by disabling the HONOR_CIPHER_ORDER option in `/etc/default/pmgproxy`:
e1afb181
SI
86
87 HONOR_CIPHER_ORDER=0
88
89
90Diffie-Hellman Parameters
91-------------------------
92
93You can define the used Diffie-Hellman parameters in
94`/etc/default/pmgproxy` by setting `DHPARAMS` to the path of a file
95containing DH parameters in PEM format, for example
96
97 DHPARAMS="/path/to/dhparams.pem"
98
99If this option is not set, the built-in `skip2048` parameters will be
100used.
101
102NOTE: DH parameters are only used if a cipher suite utilizing the DH key
103exchange algorithm is negotiated.
104
105COMPRESSION
106-----------
107
108By default `pmgproxy` uses gzip HTTP-level compression for compressible
bfdb1534 109content if the client supports it. This can be disabled in `/etc/default/pmgproxy`
e1afb181
SI
110
111 COMPRESSION=0
112
fa49ddc5
DM
113ifdef::manvolnum[]
114include::pmg-copyright.adoc[]
115endif::manvolnum[]