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