利用frp进行内网穿透,实现本地web服务向外提供(https)

0x01先决条件

  • 有一台公网服务器

0x02初始项目

  • 把frps放到公网服务器
  • 把frpc放到内网服务器

0x03 服务端配置

[common]
bind_port = 2333 #frp服务端口
token = token@xxxx #认证口令
allow_ports = 443,80 #开放的端口,限制后增加安全

0x04客户端配置

[common]
server_addr = 10.111.1.1 #服务端IP
server_port = 2333 #连接地址
token = token@xxxx #认证口令

[tcp]
type = tcp #代理协议
local_ip = 192.168.1.9 #本地服务器地址
local_port = 443 #本地端口
remote_port = 443 #向远程开放的端口
custom_domains = test.com #访问域名,需解析到公网服务器IP
proxy_protocol_version = v2 #额外的配置,可以获取从公网服务器发起请求的IP地址

0x05本地web服务配置

0x051 nginx需要配置两个web服务器

0x0511第一个web服务仅提供转发的服务

server
{
	listen 80 proxy_protocol;
	listen 443 ssl http2 proxy_protocol;
    #更多...
    location / {
  		proxy_set_header Host            test.com;
  		proxy_set_header X-Forwarded-For-Frp $proxy_protocol_addr;
  		proxy_pass       http://192.168.1.9:8080;
	}
}

0x0512 第二个为实际提供web服务

server
{
    listen 8080;#此处需要注意端口号,不能是80或443,因为80和443已经启用了proxy_protocol协议
    #更多...
}

0x06参考

nginx配置

FRP官网

posted @ 2023-06-05 14:22  小枫同学  阅读(548)  评论(0编辑  收藏  举报