严格按以下步骤来,可以少走弯路。

一、搭建frp服务端(不是客户端)

服务端的安装:

上传frp到服务器,将frp文件夹内的所有文件修改为完全访问和控制。

打开frps.ini进行设置,内容如下:

这里的 bind_port 是frp的服务端口号,用于客户端连接;

vhost_http_port 和 vhost_https_port 分别是http网站和https网站的端口号,为了避免和80与443冲突,这里分别使用了808和909 ;

dashboard_port 是frp网页后台的访问端口;

dashboard_user 和 dashboard_pwd 是frp网页后台的登录名与登录密码;

token 是服务端和客户端的握手密码

设置好后将frp注册为服务,方便使用。

通过网站访问http://IP:3333,(3333是dashboard_port所设置的),输入用户名和密码后会看到类似如下内容:

注册为系统服务的方法:

创建服务脚本并编辑 vi /etc/systemd/system/frps.service

内容如下:(注意,代码中的frps.ini是服务端配置文件,请依据自己的实际情况做相应修改)

加入服务列表并设置自启动

注意:以上端口需要在宝塔面板中打开防火墙放行,也需要在服务器防火墙中放行。网站主要是tcp模式。

运行 systemctl start frps.service 后看到下面界面,表面启动成功,正在监听:

二、搭建服务端网站

服务端安装宝塔面板,建立网站,内容为空即可。这里的搭建网站方法一切如常,端口就保持80即可。

唯一一个需要修改的地方是:建立好之后,点开设置,切换到反向代理,按下图所示进行设置:

(注意,frp服务端对http使用了808端口,对https使用了909端口,这里根据网站情况自行斟酌。)

三、搭建客户端网站

服务端安装宝塔面板,建立网站。这里尤其要注意,客户端搭建的网站不要使用80端口,请换个端口,比如换为8003端口。否则会报“端口冲突”的错误。这是唯一一个要注意的地方,其余就正常搭建使用即可。以下图为例:

建议把所有网站搭建完毕后再配置frp客户端,以免后期修改引起服务重复启动而报错。

这里搭建的网站,内网访问地址是:http://192.168.5.188:8003

而客户端配置好后,可以直接用 http://localblog.taholab.com 来访问,且不需要加端口号。

四、配置frp客户端

客户端的安装与配置:

将frp安装到客户端的服务器内。将frp文件夹内的所有文件修改为完全访问和控制。

打开frpc.ini,参照下面代码进行配置:

以上的内网IP地址、端口和域名相应的替换为你的即可。

解释:

[common] 部分为客户端的初始化板块,包括了服务端的ip地址,服务端口,tls是否启动,token密码等内容,一次设置,全局有效。

除了[common]部分外,以上配置文件中,每一个 [ ] 板块下的一段,对应着一个你需要内网穿透的应用。如果你只有一个网站需要内网穿透,则只保留一个板块就可以。里面的 [ ] 是服务标识符,其下对应的代码含义如下:

  • type 表示服务类型,包括了http、https、tcp、udp等服务,比如搭建网站的话就用http或https服务。
  • local_ip 表示你的内网网站的ip地址,比如我的测试博客 localblog.taholab.com 在内网访问就可以输入 http://192.168.5.188:端口号 来访问。端口号就是你的内网网站设置的端口号,默认是80。
  • local_port 表示你的内网网站的网站端口,默认是80,你也可以改成你要的端口号,比如上述的 localblog.taholab.com 如果把网站端口设置为了8888,那么内网网站访问地址就是:http://192.168.5.189:8888
  • remote_port 表示frp服务中http网站所用的端口,本配置文件用的808,服务端也是808,如果是https网站的话,那么就得用909(因为服务端配置的是909)。
  • custom_domains 是访问该服务的域名,只对网站有用,tcp服务不需要这一项。以 localblog.taholab.com 为例,这里就输入 localblog.taholab.com 。

现在只是配置完成,还没有启动服务端。先不着急,先注册为服务后,用服务的方式来启动比较好。

注册为系统服务的方法:

将客户端frp注册为服务并开机自启动,与服务端配置方法完全一致,代码如下:

创建服务脚本并编辑 vi /etc/systemd/system/frpc.service

内容如下:(注意,代码中的frpc.ini是服务端配置文件,请依据自己的实际情况做相应修改)

加入服务列表并设置自启动

配置成功的话,如果在浏览器访问 http://localblog.taholab.com,则会打开内网的 http://192.168.5.188:8003,表明访问成功。

至此,所有步骤均已完成,尽情享用吧!


附录:常见报错原因

 

5 条评论

  1. 楼主。跟作法,,,有两个不清。。请指教一下,谢。
    一,内网网站什i么端口都 行,,但是域名 有证书的情况下,只能是打开http

    二: 视频909的443端口。无法映射到云服务器上,不管是在内网加上SSL证书,还是在云服务器上加上SSL证书。都无法打开909的映射网站。。

    三,域名SSL证书已加到域名内,打开就是https 443端口,在你的配置中。我加上SSL证书,但是无法加载到证书。。,

    请问,这个证书应该怎么加载到内网。外网的服务器,过云域名 访问

  2. 大佬能不能教下咋配置frp 跟着你这个教程配置链接成功了就是不能 反向代理然后打开内网网站

    1. Author

      按照教材一步一步做应该就没问题了。你看看是不是防火墙把端口屏蔽了?

      1. 我跟着你教程配置成功了 现在出现新问题了
        本地主机有2个网页 但是访问老是出现混淆问题
        就是访问1了 访问2正常 后面访问1就变成2了

        1. Author

          看来还是配置的问题。得把端口号区分清楚。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注