通过nginx反向代理frp服务

本文介绍如何使用nginx反向代理访问内网的Web服务。

配置frp服务端/公网端

  • 创建server.ini文件,内容如下
    [common]
    bind_port = 7000
    token = your_token
    

注意

token必须与客户端设为一致才能访问。若不使用token则任何人都可以接入frq服务端!

  • 使用frps -c server.ini启动frp服务端。

配置frp客户端/内网端

  • 创建client.ini文件,内容如下
    [common]
    server_addr = example.inflambda.tech
    server_port = 7000
    token = your_token
    
    [example]
    type = tcp
    local_port = 5554
    local_ip = 127.0.0.1
    remote_port = 5876
    
  • 使用frpc -c client.ini启动frp客户端。

说明

  • server_addr / server_port 分别为frp的服务端ip与端口。
  • type 由于我们不打算直接使用frp提供WEB服务,所以这里使用的是tpc而非http
  • local_ip / local_port 分别为内网web服务的ip地址与端口。
  • remote_port 为提供给nginx的端口。服务器端不需要打开此端口。

配置nginxWeb服务

server {
    listen 443 ssl;
    server_name example.inflambda.com;
    ssl_certificate      /etc/letsencrypt/live/inflambda.tech/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/inflambda.tech/privkey.pem;
    proxy_set_header X-Real-IP $remote_addr;
    access_log /var/log/nginx/example.log;

    location / {
         proxy_pass: http://localhost:5876;
    }
}
留言