frp +nginx 内网穿透 无域名 并且分别开通 81 8081让内网客户端连接
以下是基于Linux系统的frp + nginx内网穿透步骤:
- 安装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
- 配置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表示自定义的域名。
- 启动frp
在frp的安装目录下,运行以下命令启动frp:
./frps -c ./frps.ini
- 安装nginx
使用以下命令在Linux系统中安装nginx:
sudo apt-get update
sudo apt-get install nginx
- 配置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和端口号。
- 启动nginx
在nginx的安装目录下,运行以下命令启动nginx:
sudo nginx
- 测试
现在,可以在外网访问http://example.com和http://example.com:81,分别访问内网中的8081和8080端口的服务。
注意:如需使用HTTPS,需要在frp和nginx中配置SSL证书
原文地址: https://www.cveoy.top/t/topic/fn5M 著作权归作者所有。请勿转载和采集!