Web Interface Via Nginx Proxy: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (typo "nstall" corrected; removed root prompt signs in last paragraph; mentioning location for default nginx conf in stretch) |
||
Line 9: | Line 9: | ||
= Configuration = | = Configuration = | ||
* ''' | * '''install nginx''' | ||
<pre>apt install nginx</pre> | <pre>apt install nginx</pre> | ||
* '''remove the default config file – not needed on PVE 4/5 (Stretch & Jessie!)''' | * '''remove the default config file – not needed on PVE 4/5 (Stretch & Jessie!)''' | ||
<pre>rm /etc/nginx/conf.d/default</pre> | <pre>rm /etc/nginx/conf.d/default</pre> | ||
repsectively | |||
<pre>rm /etc/nginx/sites-enabled/default</pre> | |||
* '''create a new config file''' | * '''create a new config file''' | ||
Line 57: | Line 61: | ||
<pre> | <pre> | ||
nginx -t # checks config syntax | |||
systemctl restart nginx | |||
</pre> | </pre> | ||
Revision as of 07:08, 2 November 2017
Introduction
This allows you to access Proxmox VE via the port 443
Tested from Proxmox 3.4 - 5.0, still works fine!
Why do I need this?
Sometimes there is a firewall restriction that blocks port 8006 and since we shouldn't touch the port config in proxmox we'll just use nginx as proxy to provide the web interface available on default https port 443. Now let's begin...
Configuration
- install nginx
apt install nginx
- remove the default config file – not needed on PVE 4/5 (Stretch & Jessie!)
rm /etc/nginx/conf.d/default
repsectively
rm /etc/nginx/sites-enabled/default
- create a new config file
nano /etc/nginx/conf.d/proxmox.conf
Note: on modern Debian systems the configuration files must have a .conf ending when placed in /etc/nginx/conf.d/
The following is an example config that works for the web interface and also the noVNC console:
upstream proxmox { server "FQDN HOSTNAME"; } server { listen 80 default_server; rewrite ^(.*) https://$host$1 permanent; } server { listen 443; server_name _; ssl on; ssl_certificate /etc/pve/local/pve-ssl.pem; ssl_certificate_key /etc/pve/local/pve-ssl.key; proxy_redirect off; location / { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass https://localhost:8006; proxy_buffering off; client_max_body_size 0; proxy_connect_timeout 3600s; proxy_read_timeout 3600s; proxy_send_timeout 3600s; send_timeout 3600s; } }
- Test and Apply new config
nginx -t # checks config syntax systemctl restart nginx
Enjoy the webinterface on HTTPS port 443!