标签: nginx

  • frp内网穿透访问家里的Esxi8.0服务器 frpc如何配置http2https插件

    frp内网穿透访问家里的Esxi8.0服务器 frpc如何配置http2https插件

    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端口,
    然后同样也觉得群晖的quickconnect非常不好用,
    那么也可以通过frp的http2https插件实现内网穿透来访问家里的NAS啦!

    by itgeeker.net

    最新文章

奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4