家庭网络中的服务器怎么对外提供服务?

家庭网络中的服务器怎么对外提供服务?

    • [方案1 DDNS(家庭网络需要有公网ip)](#方案1 DDNS(家庭网络需要有公网ip))
    • [方案2 内网穿透(需要有一台公网ip的服务器)](#方案2 内网穿透(需要有一台公网ip的服务器))

方案1 DDNS(家庭网络需要有公网ip)

怎么判断是否有公网ip?大致的流程就是光猫改桥接,由光猫拨号改为路由器拨号,在路由器管理页面查看拨号获取的ip,用这个ip去ip查询网站验证,具体的操作可自行搜索,这里不进行赘述了。

我们都知道,ip有两种,ipv4和ipv6

网络运营商一般都会分配ipv6,在路由器开启ipv6即可

使用ipv6的话,有一个缺点,如果访问用户没有ipv6,就无法访问你的服务器

公网ip固定的情况下其实也没什么可说的,直接配置域名解析即可。家庭网络ip不固定的情况下,可以使用ddns服务,推荐ddns-go

https://github.com/jeessy2/ddns-go

ddns的作用是将动态的公网 IPv4 或 IPv6 地址映射到固定的域名解析服务上

这个ddns需要安装,也可以选择更加轻量级的就是使用路由器的ddns服务

方案2 内网穿透(需要有一台公网ip的服务器)

推荐工具frp https://github.com/fatedier/frp

gofrp文档 https://gofrp.org/zh-cn/docs/

有客户端,服务端,服务端需要部署到公网ip的服务器上,域名解析到公网ip即可,根据文档进行配置,也可以直接抄我的配置

frps.toml 服务端配置

toml 复制代码
bindPort = 7000 # 必填,绑定端口,客户端需要连接这个端口,进行通信
vhostHTTPPort = 18080 # http代理监听端口

[auth]
token = "asdfasdfasdfs" # 必填,token,必须设置,不然谁都可以连你的frps了

[webServer]   # Dashboard 相关配置,查看信息用的
addr = "0.0.0.0"
port = 7001
user = 'user'
password = 'password'

frpc.toml 客户端配置

toml 复制代码
user = "local-server"# 名称,自定义随便写
serverAddr = "xx.xx.xx.xx"# 必填,公网ip服务器
serverPort = 7000# 必填,服务端的bindPort

[auth]
token = "asdfasdfasdfs"# 服务端配置的token

[webServer]  # Dashboard 相关配置,查看信息用的
addr = '0.0.0.0'
port = 7001
user = 'user'
password = 'password'

[[proxies]] # 代理相关设置,访问服务端的6022端口,就会将请求转发到你本机的22端口
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6022

[[proxies]]# 代理相关设置,访问服务端的18080端口,就会将请求转发到你本机的80端口
name = "http"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains=["www.domains.com"]  # 绑定的域名,必须配置,新增域名这里也需要修改

检查你的配置是否正确

./frps verify -c frps.toml

用户访问这个域名www.domains.com:18080 的时候,就会将请求转发到你家庭网络中的服务器上,但是如果我们想要不加这个端口访问的话,可以在公网ip服务器上加一层nginx作为反向代理,将80/443的请求转发到18080即可

相关推荐
骥龙2 小时前
3.10、构建网络防线:防火墙、WAF 与蜜罐实战
服务器·网络·数据库·网络安全
九河云2 小时前
华为云 ECS 弹性伸缩技术:应对业务峰值的算力动态调度策略
大数据·服务器·人工智能·物联网·华为云
夜月yeyue3 小时前
Linux内高端内存
linux·运维·单片机·嵌入式硬件·ci/cd·硬件架构
云宏信息3 小时前
运维效率提升实战:如何用轻量化云管平台统一纳管与自动化日常资源操作
运维·服务器·网络·架构·云计算
XINERTEL3 小时前
自动化测试的「千里眼」:当RTSM远程控制遇上自动化,测试效率直接拉满
运维·功能测试·自动化·以太网测试
杨云龙UP4 小时前
MySQL 自动备份与覆盖恢复实战:一套脚本搞定全库/按库备份恢复
linux·运维·数据库·sql·mysql
sjg200104144 小时前
Deepin 20.9 误装gcc-8-base_8.4.0-1ubuntu1~16.04.1_amd64 后卸载
linux·运维·服务器
一帘忧梦4 小时前
linux 系统rcs脚本启动
linux·运维·lua
jerryinwuhan5 小时前
1210_1 Linux
linux·运维·服务器
福尔摩斯张6 小时前
Linux信号捕捉特性详解:从基础到高级实践(超详细)
linux·运维·服务器·c语言·前端·驱动开发·microsoft