ESXi 配置公网访问
source link: https://chenjiehua.me/linux/esxi-public-access-config.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ESXi 配置公网访问
最近花费大价钱购入了一台工控软路由,打算来做迷你服务器,安装了 VMWare ESXi 做虚拟化。由于家里光纤没有公网,便用frp来做内网穿透,中间折腾许久踩了不少坑,顺便就记录一下笔记。
安装采用 VMWare ESXi 6.7,默认自动生成了一个不受信任的证书,内网使用IP访问虽然浏览器有提示不过也不影响使用:
满满都是坑
首先我们使用 frp 来做内网穿透,在 esxi 上开一个虚拟机来跑 frpc,简单配置如下:
由于服务器上使用的是Nginx做 Web Server,我们还需要配置一下 nginx 来对外访问:
尝试通过外网域名访问一下,提示 502 Bad Gateway……
查看Nginx日志,发现报错:
upstream prematurely closed connection,也就是说我们内网的 ESXi 过早的关闭了这个连接。
一番排查之后,怀疑是因为 ESXi 要求使用 https 访问,但是证书却又不受信任导致的。
那有没有什么办法可以忽略 https 么?
Haproxy 二次转发
看了 frp 的配置文档,似乎并没有提供什么解决方法,于是便想是否可以尝试 haproxy 来再做一次转发,并忽略 ssl 校验。
果然,haproxy 的文档中:
于是,我们增加 haproxy 转发:
并修改 frpc 配置:
如此一顿骚操作下来,发现果然可以在外网通过域名访问了,简直想要来个双击666
Nginx配置Https
然鹅……登录的时候竟然发现又出问题了(黑人问号???)
查看了 Chrom 的网络请求,发现登录的时候会自动跳转到 https:
看来服务器上Nginx还是需要配置 https 访问,通过 letencrypt 申请免费的 https 证书,然后修改 nginx 配置:
这下子终于可以正常在外网通过域名访问我们内网的ESXi服务器了。
VMWare远程连接
上面的所有配置最后使得我们能够正常通过浏览器访问,但我们知道除了Web访问,其实ESXi也支持通过 VMWare Fusion(macOS)或VMWare Workstations(Windows)直接连接访问:
在内网的情况下,我们直接填写 ESXi 服务器的IP地址即可顺利连接并访问到虚拟机。不过如果是通过公网域名访问,却会发现正常打开虚拟机,提示:
看来除了前面web端口需要设置内网穿透,还是多配置902端口:
果然一切都正常了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK