以下是基于Linux系统的frp + nginx内网穿透步骤:

  1. 安装frp

在Linux系统中,使用以下命令安装frp:

wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
tar zxvf frp_0.36.2_linux_amd64.tar.gz
  1. 配置frp

在frp的安装目录下,创建一个名为frps.ini的文件,并添加以下内容:

[common]
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443

[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = example.com

其中,bind_port表示frp服务端使用的端口号,vhost_http_port和vhost_https_port表示frp服务端用于虚拟主机的HTTP和HTTPS端口号,local_ip和local_port表示内网需要穿透的服务的IP和端口号,custom_domains表示自定义的域名。

  1. 启动frp

在frp的安装目录下,运行以下命令启动frp:

./frps -c ./frps.ini
  1. 安装nginx

使用以下命令在Linux系统中安装nginx:

sudo apt-get update
sudo apt-get install nginx
  1. 配置nginx

在nginx的安装目录下,编辑nginx.conf文件,添加以下内容:

server {
        listen       80;
        server_name  example.com;

        location / {
            proxy_pass http://127.0.0.1:8081;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

server {
        listen       81;
        server_name  example.com;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

其中,server_name表示frp中自定义的域名,location /表示需要转发的路径,proxy_pass表示需要转发到的内网IP和端口号。

  1. 启动nginx

在nginx的安装目录下,运行以下命令启动nginx:

sudo nginx
  1. 测试

现在,可以在外网访问http://example.com和http://example.com:81,分别访问内网中的8081和8080端口的服务。

注意:如需使用HTTPS,需要在frp和nginx中配置SSL证书

frp +nginx 内网穿透 无域名 并且分别开通 81 8081让内网客户端连接

原文地址: https://www.cveoy.top/t/topic/fn5M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录