325 字
2 分钟
使用 HTTPS 默认 443 端口访问 PVE WebUI
前言
默认情况下,PVE 的 WebUI 是通过 8006 端口访问的。如果需要通过 443 端口访问,需要进行一些配置。
使用 iptables 转发
将 443 端口的流量转发到 8006 端口:
# IPv4sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006# IPv6(可选)sudo ip6tables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006禁止访问 8006 端口(可选):
# IPv4sudo iptables -A INPUT -i ! lo -p tcp --dport 8006 -j DROP# IPv6(可选)sudo ip6tables -A INPUT -i ! lo -p tcp --dport 8006 -j DROP安装 iptables-persistent:
sudo apt-get updatesudo apt-get install iptables-persistent安装过程中会提示保存当前规则,选择“Yes”即可。规则会分别存储在:
/etc/iptables/rules.v4/etc/iptables/rules.v6
你也可以手动保存配置:
# IPv4sudo iptables-save > /etc/iptables/rules.v4# IPv6(可选)sudo ip6tables-save > /etc/iptables/rules.v6这是最简单的方法,推荐使用这个。
使用 Nginx 反向代理
这个方法就较为复杂,需要配置 Nginx 反向代理。
安装 Nginx
sudo apt install nginxsudo rm /etc/nginx/conf.d/defaultsudo rm /etc/nginx/sites-enabled/defaultsudo nano /etc/nginx/conf.d/proxmox.conf配置 Nginx
upstream proxmox { server "YOUR.FQDN.HOSTNAME.HERE";}
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; }}重启 Nginx
systemctl restart nginx参考资料
使用 HTTPS 默认 443 端口访问 PVE WebUI
https://blog.devnak.win/posts/use_443_port_to_access_pve_webui/