]> git.proxmox.com Git - pve-docs.git/blame_incremental - pveproxy.adoc
Fix formatting failure
[pve-docs.git] / pveproxy.adoc
... / ...
CommitLineData
1ifdef::manvolnum[]
2pveproxy(8)
3===========
4:pve-toplevel:
5
6NAME
7----
8
9pveproxy - PVE API Proxy Daemon
10
11
12SYNOPSIS
13--------
14
15include::pveproxy.8-synopsis.adoc[]
16
17DESCRIPTION
18-----------
19endif::manvolnum[]
20
21ifndef::manvolnum[]
22pveproxy - Proxmox VE API Proxy Daemon
23======================================
24endif::manvolnum[]
25
26This daemon exposes the whole {pve} API on TCP port 8006 using
27HTTPS. It runs as user `www-data` and has very limited permissions.
28Operation requiring more permissions are forwarded to the local
29`pvedaemon`.
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 {pve} node.
34
35Host based Access Control
36-------------------------
37
38It is possible to configure ``apache2''-like access control
39lists. Values are read from file `/etc/default/pveproxy`. For example:
40
41----
42ALLOW_FROM="10.0.0.1-10.0.0.5,192.168.0.0/22"
43DENY_FROM="all"
44POLICY="allow"
45----
46
47IP addresses can be specified using any syntax understood by `Net::IP`. The
48name `all` is an alias for `0/0`.
49
50The default policy is `allow`.
51
52[width="100%",options="header"]
53|===========================================================
54| Match | POLICY=deny | POLICY=allow
55| Match Allow only | allow | allow
56| Match Deny only | deny | deny
57| No match | deny | allow
58| Match Both Allow & Deny | deny | allow
59|===========================================================
60
61
62SSL Cipher Suite
63----------------
64
65You can define the cipher list in `/etc/default/pveproxy`, for example
66
67 CIPHERS="HIGH:MEDIUM:!aNULL:!MD5"
68
69Above is the default. See the ciphers(1) man page from the openssl
70package for a list of all available options.
71
72
73Diffie-Hellman Parameters
74-------------------------
75
76You can define the used Diffie-Hellman parameters in
77`/etc/default/pveproxy` by setting `DHPARAMS` to the path of a file
78containing DH parameters in PEM format, for example
79
80 DHPARAMS="/path/to/dhparams.pem"
81
82If this option is not set, the built-in `skip2048` parameters will be
83used.
84
85NOTE: DH parameters are only used if a cipher suite utilizing the DH key
86exchange algorithm is negotiated.
87
88Alternative HTTPS certificate
89-----------------------------
90
91By default, pveproxy uses the certificate `/etc/pve/local/pve-ssl.pem`
92(and private key `/etc/pve/local/pve-ssl.key`) for HTTPS connections.
93This certificate is signed by the cluster CA certificate, and therefor
94not trusted by browsers and operating systems by default.
95
96In order to use a different certificate and private key for HTTPS,
97store the server certificate and any needed intermediate / CA
98certificates in PEM format in the file `/etc/pve/local/pveproxy-ssl.pem`
99and the associated private key in PEM format without a password in the
100file `/etc/pve/local/pveproxy-ssl.key`.
101
102WARNING: Do not replace the automatically generated node certificate
103files in `/etc/pve/local/pve-ssl.pem` and `etc/pve/local/pve-ssl.key` or
104the cluster CA files in `/etc/pve/pve-root-ca.pem` and
105`/etc/pve/priv/pve-root-ca.key`.
106
107NOTE: There is a detailed HOWTO for configuring commercial HTTPS certificates
108on the {webwiki-url}HTTPS_Certificate_Configuration_(Version_4.x_and_newer)[wiki],
109including setup instructions for obtaining certificates from the popular free
110Let's Encrypt certificate authority.
111
112ifdef::manvolnum[]
113include::pve-copyright.adoc[]
114endif::manvolnum[]