ITGeeker技术奇客这次计划给家里的Esxi 8.0服务器搞个公网访问,查了一下看到网上有篇文章介绍说frpc用的type = tcp,然后还要用Haproxy 二次转发,因为Esxi服务器要求ssl访问,再配置nginx的一大堆,觉得甚是复杂。
ITGeeker技术奇客按照自己对frpc插件http2https的理解,参考官方 https://github.com/fatedier/frp#example-usage 文档,实践后一次成功,分享一下给大家。关键是穿透后实现内网https访问!
1. 添加frpc配置文件(关键)
[esxi]
type = http
subdomain = esxi # 公网的二级域名
plugin = http2https
plugin_local_addr = 192.168.118.118:443 # Esxi8.0服务器内网ip + port
plugin_host_header_rewrite = 192.168.118.118 # Esxi8.0服务器内网ip
plugin_header_X-From-Where = frp # 默认为frp
2. frps服务配置
#####################################################
# for esxi公网访问 by itgeeker.net
#####################################################
server
{
server_name esxi.itgeeker.net;
client_max_body_size 2048M;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:1118; # 此处须和frps.ini的vhost_http_port端口一致
}
access_log /var/log/nginx/esxi.itgeeker.net-https-access.log;
error_log /var/log/nginx/esxi.itgeeker.net-https-error.log;
listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/esxi.itgeeker.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/esxi.itgeeker.net/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
# http 80自动跳转443
server
{
if ($host = esxi.itgeeker.net) {
return 301 https://$host$request_uri;
}
listen 80;
server_name esxi.itgeeker.net;
return 404;
}
3. 域名DNS解析esxi.itgeeker.net到frps服务器IP
4. 重启frpc和frps服务器的nginx服务
# frpc重启命令
./frpc reload -c ./frpc.ini
# nginx重启命令:
nginx -s reload
然后就可以愉快的用https://esxi.itgeeker.net来访问家里的Esxi8.0服务器管理页面了
注意:Esxi8.0服务器公网访问需要ssl 443端口,非ssl 80端口是不可以访问的。
by itgeeker.net
最新文章
- Google TV Streamer 4K 2024成功激活过程
- HarmonyOS 4.2.0版本安装Google GMS第一步找不到“从内部恢复”选项的解决办法一 外部存储恢复法
- 群晖(Synology)NAS DS418 Play升级到DSM7.2后应用商店无法采用SPK安装Docker的解决方案 群晖NAS命令行(CMD)安装Docker
- Esxi 8使用Photon OS OVA一分钟快速搭建Docker容器运行环境 从此一个虚拟机只运行一个Docker实例
- Intel® X550-AT2万兆网卡在ESXI 8无法协商2.5G速度 开启SR-IOV后居然就可以了
- Esxi 8 虚拟机Ubuntu apt安装Jellyfin如何开启Nvidia硬解码 非Docker方式的安装过程