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
如果你家里的Synology群晖NAS也启用了SSL 443端口,
by itgeeker.net
然后同样也觉得群晖的quickconnect非常不好用,
那么也可以通过frp的http2https插件实现内网穿透来访问家里的NAS啦!
最新文章
- Google Chrome清除指定网站的所有缓存 浏览记录、Cookie、缓存及其他数据
- 如何将Xshell的会话导入到WindTerm
- 华为Mate40 Pro+完美升级到HarmonyOS 4.0.0.112 第2天GMS Google Play提示此设备未获得Play保护机制认证
- qBittorrent如何运行脚本 BT实现自动改名并方便Jellyfin的搜刮器
- 开源Word文字替换小工具更新 增加文档页眉和页脚替换功能
- Odoo @onchange方法使用write引起的错误 odoo.http: 数据库读入不到 ids ((
,)) 与extra ids ((268,)),可能是因为上个请求的类型不一致所造成的
发表回复