Por defecto muchos sabemos que proxmox utiliza el puerto 8006, sin embargo como en casi todo en Linux, podemos personalizar este puerto y por ejemplo utilizar uno estandar (443)
Lamentablemente proxmox no incluye una función nativa para poder cambiar este puerto, pero tenemos 2 opciones que nos permitirían hacer esto.
La primera, y la documentada es utilizar ngnix como proxy inverso, quizás alguno conocerá esta técnica donde básicamente colocamos un nginx o un apache a la escucha en los puertos correspondientes, el 80 y 443, y luego redirigimos al puerto de proxmox de manera interna, así el cliente no se percatará que en realidad esta consumiendo un servicio en el puerto 8006
Para instalar nginx basta con utilizar
apt install nginx
una vez instalado vamos a eliminar el sitio por defecto, también podemos borrar todo su contenido y pegar lo que les indicaré como paso 2
rm /etc/nginx/sites-enabled/default
Luego crearemos un nuevo archivo, el nombre es indiferente pero es relevante que termine en .conf y se encuentre en la ruta /etc/nginx/conf.d/
nano /etc/nginx/conf.d/proxmox.conf
Como paso 2 pegaremos lo siguiente cambiando «url» por el nombre con el cual lleguemos a nuestro proxmox
upstream proxmox { server "URL"; } 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; } }
Una nota importante, es que si manejamos certificados ssl personalizados, por ejemplo con let’s encrypt debemos apuntar a esos archivos en las siguientes lineas
ssl_certificate /etc/pve/local/pve-ssl.pem; ssl_certificate_key /etc/pve/local/pve-ssl.key;
y finalmente reiniciamos el servicio nginx para que tome los nuevos cambios
systemctl restart nginx
y con eso ya tenemos nuestro proxmox en el puerto 443, de cierta forma