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文件?问题还有很多,如果能实现的话可以发一下配置信息嘛

和你说一下我的思路吧,停掉公网测试服务器的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