织梦CMS - 轻松建站从此开始!

欧博ABG-会员登录-网站

1panel搭建frp服务端并使用openresty反向代理实现https访问

时间:2025-01-09 20:27来源: 作者:admin 点击: 11 次
前言 这次国庆节回老家发现家里的路由器居然是我去年带过去的斐讯K2p,已经刷了openwrt,于是想着有没有更多玩法?因为家里的宽带是移动宽带,没有公网IP,所以来折腾一下frp内网穿透。 我想实现的目标是:通过不同的三级域名,来访问不同的服务。例如,访问https://op.frp.xxxxxx.

这次国庆节回老家发现家里的路由器居然是我去年带过去的斐讯K2p,欧博abg已经刷了openwrt,于是想着有没有更多玩法?因为家里的宽带是移动宽带,没有公网IP,所以来折腾一下frp内网穿透。

我想实现的目标是:通过不同的三级域名,来访问不同的服务。例如,访问https://op.frp.xxxxxx.xyz,即可访问内网的openwrt服务。

一、1panel搭建服务端

首先需要一台安装了1panel的公网服务器,最好是有80和443端口的,欧博官网记得开放相应端口的防火墙。

在1panel的应用商店中,已经有了frp服务端,安装也很简单,设置好服务端口和管理面板的端口、用户名以及密码,密钥自己设置一个,后面在openwrt客户端用得上。

image

如果有安装ufw防火墙,记得开放7000和7500防火墙。

在1panel的文件管理中打开/opt/1panel/apps/frps/frps/data/frps.toml,添加一行subdomainHost = "frp.xxxxxx.xyz",欧博用来设置子域名。另外,还需要设置vhostHTTPPort,我直接设置成和bindPort一样的7000,如果设置成其他的记得开放相应的防火墙。vhostHTTPSPort可以不用设置,因为我想通过openresty来反向代理frp并设置https。

bindAddr = "0.0.0.0" bindPort = 7000 subdomainHost = "frp.xxxxxx.xyz" vhostHTTPPort = 7000 vhostHTTPSPort = 7000 auth.method = "token" auth.token = "xxxxxxxxxx" webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "xxxxxxx" webServer.password = "xxxxxxxxxx" # tls #transport.tls.force = true #transport.tls.certFile = "/etc/frp/ssl/server.crt" #transport.tls.keyFile = "/etc/frp/ssl/server.key" #transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt"

在容器界面重启frps容器,这样服务端就搭建好了。

二、openwrt安装frpc客户端

首先替换openwrt的软件源,打开opkg configuration,

将其中说有 都替换为https://mirrors.tuna.tsinghua.edu.cn/openwrt。

image

然后更新软件列表,欧博娱乐再搜索luci-app-frpc,直接安装即可。刷新网页,在服务页面即可看到frp 客户端。常规设置中,填服务器地址服务器端口,以及之前设置的秘钥。其他的保持默认即可。

点击添加新代理,名称随意但是要唯一,类型填http,本地ip 127.0.0.1,端口 80 , 如果想代理内网的其他设备,填该设备的ip和端口即可。

image

在http设置里,自定义域名可不填,默认就是之前设置的subdomainHost = "frp.xxxxxx.xyz",子域名填自己想要的,如 op ,保存即可。

image

此时通过服务端ip:7500端口打开管理面板,即可看到刚刚设置的frp客户端已经连接上了。

image

此时,通过:7500即可访问内网了,但是这还不够完美,既然已经有公网服务器了,直接通过https://op.frp.xxxxxx.xyz来访问岂不妙哉?

三、使用openresty设置反向代理,开启https

有个小插曲,我购买的vps系统有毛病,ping 127.0.0.1,localhost和本地ip都不通,所有的配置也是正确的。

检查下是否禁止了ping,nano /etc/sysctl.conf ,看net.ipv4.icmp_echo_ignore_all内容为 1 则禁止ping ,内容为0 则开启ping。

或者 使用 sysctl -w net.ipv4.icmp_echo_ignore_all=1 。重启vps后恢复正常。

首先把frp.xxxxxx.xyz和*.frp.xxxxxx.xyz解析到公网服务器上,再在1panel里申请其证书。

在1panel的网站里面添加一个主域名为:frp.xxxxxx.xyz,其他域名填 *.frp.xxxxxx.xyz,地址填127.0.0.1:7000,再选择对应的证书,其他的不用修改,就能通过默认https端口访问内网服务了。不同的内网服务对应不同的三级域名。

image

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-02-05 12:02 最后登录:2025-02-05 12:02
栏目列表
推荐内容