• frp:通过公网域名访问内网机器


    frp介绍

    frp 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

    通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

    • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
    • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
    • 代理组间的负载均衡。
    • 端口复用,多个服务通过同一个服务端端口暴露。
    • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
    • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
    • 服务端和客户端 UI 页面。

    实验

    相关准备

    准备:

    1. 一个拥有公网域名的服务器
    2. 一个内网机器(windows或者linux机器都可以)
    3. 一个在内网机器中可访问的服务

    我这里准备了一个java服务,占用8000端口的,访问/frp,直接返回"ok"

    @RestController
    public class FrpController {
    
        @RequestMapping("/frp")
        public String frp() {
            return "ok";
        }
    }
    

    先把对应的java服务在内网服务器上启动,访问localhost:8000/frp

    image-20220706174338508

    去官网上下载frp自己所用平台的软件包:https://github.com/fatedier/frp/releases

    (公网服务器和内网服务器都需要安装这个)

    #amd64架构的linux平台可以用这个
    wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_linux_amd64.tar.gz
    tar -zxvf frp_0.43.0_linux_amd64.tar.gz
    cd frp_0.43.0_linux_amd64
    ls -al
    

    image-20220706204112115

    配置域名访问

    在具有公网域名的机器上修改 frps.ini 文件,设置了 frp 服务器用户接收客户端连接的端口和监听 HTTP 请求端口为 8000

    [common]
    bind_port = 7000
    vhost_http_port = 8000
    

    在具有公网域名的机器上添加启动脚本:start.sh

    #/bin/bash
    nohup ./frps -c frps.ini &
    

    执行start.sh

    在内网机器上,配置frpc.ini文件

    [common]
    server_addr = xxx.xxx.xx.xx #公网ip
    server_port = 7000
    
    [web]
    type = http
    local_port = 8000
    custom_domains = xxxxxx.xx #公网域名
    

    添加启动脚本:start.sh,并执行

    #/bin/bash
    nohup ./frpc -c frpc.ini &
    

    访问:http://域名:8000/frp

    image-20220706211755887

  • 相关阅读:
    Struts22222
    Struts2
    Java事务的概念
    Java设计模式之单例模式
    Spring的大框架
    mybatis大框架
    springmvc和spring的区别
    JavaScript-原型&原型链&原型继承&组合函数
    美丽的CSS图形和HTML5
    易买网项目的总实现超级详解
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/16452674.html
Copyright © 2020-2023  润新知