系统环境

  • 系统版本:22.04 (Jammy Jellyfish)
  • 内核版本:Linux ubuntu2204-004 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  • FRP版本:0.49.0
  • nginx 版本:1.23.1

使用说明

frps 作为内网穿透的服务端,搭配 nginx 做反向代理,实现在没有公网IP 的情况下访问内网 http 或者 https。

FRPS 部署

安装 FRPS

1.从 FRP 项目 的 release 中找到对应的版本下载到公网服务器的 /usr/local/src/ 目录下:

1
root@ubuntu2204-004:/usr/local/src# wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz

2.将下载下来的压缩文件解到下载目录:

1
root@ubuntu2204-004:/usr/local/src# tar zxf frp_0.49.0_linux_amd64.tar.gz 

3.将解压出来的目录移动到 /usr/local/ 目录下并重命名为 frps:

1
root@ubuntu2204-004:/usr/local/src# mv frp_0.49.0_linux_amd64 /usr/local/frps

4.进入重命名后的 frps 目录,创建以下目录:

1
2
root@ubuntu2204-004:/usr/local/src# cd /usr/local/frps
root@ubuntu2204-004:/usr/local/frps# mkdir bin etc logs

5.将当前目录下的 frps 可执行文件移动到 bin 目录下,将 frps.ini 和 frps_full.ini 文件移动到 etc 目录下:

1
2
root@ubuntu2204-004:/usr/local/frps# mv frps bin/
root@ubuntu2204-004:/usr/local/frps# mv frps* etc/

配置 FRPS

1.编辑 /usr/local/frps/etc/frps.ini 文件,将其修改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[common]
bind_port = 26842
bind_addr = 0.0.0.0
kcp_bind_port = 9700
vhost_http_port = 8000
vhost_https_port = 8443
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = Admin123.+.
dashboard_tls_mode = false
enable_prometheus = true
log_file = ./logs/frps.log
log_level = info
log_max_days = 3
disable_log_color = false
detailed_errors_to_client = true
authentication_method = token
authenticate_heartbeats = false
authenticate_new_work_conns = false
token = DSJadf14SEDad4a#
max_pool_count = 5
tcp_mux = true
#allow_ports = 1-65535

启动 FRPS

1.在 /lib/systemd/system/ 目录下新建 frps.service 文件,内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frps/bin/frps -c /usr/local/frps/etc/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

2.执行命令 systemctl daemon-reload 加载 frps 启动脚本:

1
root@ubuntu2204-004:/usr/local/frps/etc# systemctl daemon-reload 

3.执行命令 systemctl enable --now frps.service 启动 frps 服务并将其设置为开机启动:

1
2
root@ubuntu2204-004:/usr/local/frps/etc# systemctl enable --now frps.service 
Created symlink /etc/systemd/system/multi-user.target.wants/frps.service → /lib/systemd/system/frps.service.

nginx 安装部署