SkylarLeo 2022-06-09 20:05 采纳率: 50%
浏览 33
已结题

FRP是否可以实现访问服务器80端口,访问内网web服务器

环境:
公网服务器:公网IP,Centos7.9
内网web服务器:内网IP,Centos7.9,Ngnix
Openwrt软路由:公网IP(家庭用户,被请求80,443端口无法访问)


流程:
blog.xx.cn解析至公网服务器>公网服务器>部署FRPS>FRPS监听80端口>转发至路由器的12800端口
路由器>部署FRPC>FRPC监听12800端口>转发至内网服务器80端口


结果:
直接访问blog.xx.cn 不带端口,是否可以访问内网web服务器


疑问:
如果可以,那么应该如何配置?是直接将域名解析至公网服务器?内网配置host文件?问题还有很多,如果能实现的话可以发一下配置信息嘛

  • 写回答

1条回答 默认 最新

  • 偷拨网线的william 2022-06-09 20:42
    关注

    和你说一下我的思路吧,停掉公网测试服务器的80和443端口,将测试网站及数据库全部迁移至内网服务器,然后通过frp将内网的80与443端口映射至公网测试服。接下来我试一下实现方法吧
    1.frp服务端配置

    # wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
    # tar -xvf frp_0.36.2_linux_amd64.tar.gz
    # mv frp_0.36.2_linux_amd64 /usr/local/frp
    # vi /usr/local/frp/frps.ini
    [common]
    bind_port = 7000
    dashboard_port = 7500
    dashboard_user = admin
    dashboard_pwd = ******
    log_file = /var/log/frps.log
    log_level = info
    log_max_days = 7
    vhost_http_port = 80
    vhost_https_port = 443
    token = jeRgfgf
    
    
    

    2.使用systemd管理frp服务

    # cp /usr/local/frp/systemd/frps.service /etc/systemd/system/
    # vi /etc/systemd/system/frps.ini
    [Unit]
    Description=Frp Server Service
    After=network.target
    
    [Service]
    Type=simple
    User=root
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    
    # systemctl daemon-reload
    # systemctl start frps && systemctl enable frps
    

    3.客服端配置

    # wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
    # tar -xvf frp_0.36.2_linux_amd64.tar.gz
    # mv frp_0.36.2_linux_amd64 /usr/local/frp
    # vi /usr/local/frp/frpc.ini
    [common]
    server_addr = **********
    server_port = 7000
    token = jeRgfgf
    
    [mysql]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 3306
    remote_port = 3306
    
    [apiygj01]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    custom_domains = apidev.test.com
    [apiygj02]
    type = https
    local_ip = 127.0.0.1
    local_port = 443
    custom_domains = apidev.test.com
    
    [demo01]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    custom_domains = demo.test.com       
    [demo02]
    type = https
    local_ip = 127.0.0.1
    local_port = 443
    custom_domains = demo.test.com
    
    
    

    使用systemd管理frp服务

    # cp /usr/local/frp/systemd/frpc.service /etc/systemd/system/
    # vi /etc/systemd/system/frpc.ini
    [Unit]
    Description=Frp Client Service
    After=network.target
    
    [Service]
    Type=simple
    User=root
    Restart=on-failure
    RestartSec=5s
    ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini
    ExecReload=/usr/local/frp/frpc reload -c /usr/local/frp/frpc.ini
    
    [Install]
    WantedBy=multi-user.target
    
    
    

    systemctl daemon-reload

    systemctl start frpc && systemctl enable frpc

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 6月9日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测