搭建FRP服务器是一个系统性的过程,以下是详细的步骤指南,帮助您顺利完成配置

步骤 1:安装Nginx

在Ubuntu系统上安装Nginx:

sudo apt-get install nginx nginx-full -y --install --fix-bug
sudo nginx -v

确保Nginx已正确安装并处于最新版本。

步骤 2:配置Nginx作为FRP服务器

创建Nginx配置文件,通常存放在/etc/nginx/sites-available/目录下:

sudo mkdir -p /etc/nginx/sites-available
sudo nano /etc/nginx/sites-available/frp

在编辑器中输入以下内容:

server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com;
    root /var/www/frp;
    access_log /var/log/nginx/frp.access.log;
    error_log /var/log/nginx/frp.error.log;
    location / {
        proxy_pass http://localhost:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

步骤 3:加载Nginx配置

将配置文件加载到/etc/nginx/sites-enabled/目录:

sudo ln -sf /etc/nginx/sites-available/frp /etc/nginx/sites-enabled/

步骤 4:重启Nginx

确保服务正常运行:

sudo systemctl restart nginx
sudo systemctl status nginx

步骤 5:获取Let's Encrypt SSL证书

确保已注册域名并配置了备用DNS记录,使用Let's Encrypt获取证书:

sudo letsencrypt cert --nginx /etc/nginx/sites-enabled/frp -d your-domain.com -w /etc/letsencrypt

步骤 6:安装SSL证书

安装证书并生成私钥:

sudo letsencrypt install -w /etc/letsencrypt

步骤 7:配置FRP客户端

选择一个FRP客户端(如openfrp)并安装:

sudo apt-get install openfrp -y

配置FRP客户端配置文件:

sudo nano /etc/openfrp/frp.conf
server {
    bind 0...:8443
    protocol tcp
    source 0...:80
    reverse_proxy 127...1:80
    ssl enable
    ssl protocol TLSv1.2
    ssl ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-CTU-SHA3/ECDSA-AES128-GCM-SHA256
    ssl precomp on; # Force use of precompiled ciphers
    ssl session cache shared:SE:10:10
    ssl session timeout 10
}

步骤 8:配置Nginx作为FRP代理

在Nginx配置文件(/etc/nginx/sites-available/frp)中,添加FRP代理部分:

server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com;
    root /var/www/frp;
    access_log /var/log/nginx/frp.access.log;
    error_log /var/log/nginx/frp.error.log;
    location / {
        proxy_pass http://localhost:8443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Path /;
    }
}

步骤 9:重启Nginx

确保Nginx服务正常运行:

sudo systemctl restart nginx
sudo systemctl status nginx

步骤 10:测试FRP服务器

在浏览器中访问https://your-domain.com,验证是否能够正确反向代理到内部服务器。

验证

  • 访问外部IP:使用外部IP地址或域名访问FRP服务器,确认是否能正确反向代理到内部服务。
  • 检查防火墙:确保防火墙开放了80和443端口,允许Nginx接收连接。
  • 检查日志:查看Nginx日志,确认是否有错误信息,确保配置无误。

常见问题

  • 域名解析错误:确保域名正确指向服务器IP地址。
  • 防火墙设置:检查防火墙规则,确认端口80和443未被阻止。
  • 证书问题:检查证书是否已正确安装并与域名关联。

通过以上步骤,您可以成功搭建一个使用Nginx作为FRP服务器的解决方案,确保内部服务器可以通过外部域名访问。

搭建FRP服务器是一个系统性的过程,以下是详细的步骤指南,帮助您顺利完成配置

扫码添加安易加速器官方微信

扫码添加安易加速器官方微信

021-64387251
扫码添加安易加速器官方微信

扫码添加安易加速器官方微信

网站地图