nginx+frp組合搭建微信本地調試環境

繞不過有固定IP的情況,一定要有一個固定IP的雲服務器。

花生殼的域名的某種限制,即使購買花生棒(吐槽一下)。

開始

環境:雲服務器,有固定IP,有域名。

下載nginx(v1.17.8)

下載frp(v0.31.1)

下載的壓縮包解壓即可。

配置

  • 配置frps.ini

是frps,不是frpc。frps是服務端。這個放到雲服務器上。據說兩個文件就可以:frps.exe和frps.ini

[common]
# 設置連接端口(默認),這個可以改成自己想指定的,改過後需要把雲服務器的7000端口打開
bind_port = 7000

# 最大連接數                                                                                                                                      
max_pool_count = 5 

# 設置dashboard端口及登錄信息,可自己指定
dashboard_port = 7500
dashboard_user = admin                                                                                                                   
dashboard_pwd = admin

# 設置日誌顯示級別{debug, info, warn, error)
log_level = debug

# 指定日誌文件;如果不使用,則在控制檯顯示
#log_file = ./frpc.log 

# 設置日誌最大天數
log_max_days = 5

# 設置特權模式是否開啓,開通後web,ssh等使用都可以直接在客戶端設置
privilege_mode = true

# 設置特權模式token值,自己設置
privilege_token = token

# 設置轉發端口(客戶端映射的端口 注意是否與其他程序衝突)如果使用nginx轉發,則由80改成其他端口,在nginx中進行配置
vhost_http_port = 8081

執行>frp.exe -c frp.ini

C:\java\frp>frps.exe -c frps.ini
2020/01/31 14:58:27 [I] [service.go:139] frps tcp listen on 0.0.0.0:7000
2020/01/31 14:58:27 [I] [service.go:181] http service listen on 0.0.0.0:80
2020/01/31 14:58:27 [I] [service.go:239] Dashboard listen on 0.0.0.0:7500
2020/01/31 14:58:27 [I] [root.go:205] Start frps success

運行後,會一直訪問www.6661898.com,爲什麼?不知道,即使是從github上下載的,沒看源碼和重新編譯

(因爲不會  !!>_<!!  )

  • 配置nginx

打開目錄下的conf/nginx.conf

在 server{}之前添加新的server

#gzip  on;
	
#第一個普通web網站,本地的web程序,端口爲8080
#域名訪問,在域名解析中增加一個A,指向雲服務的固定IP
server {
	listen 80;
	server_name web1.your_domain.com;
		
	location / {
           proxy_pass http://localhost:8080;
	}
}
	
#第二個是frp,二級域名自己定,本處使用frp
#微信的服務器或域名授權指向這個域名
server {
	listen 80;
	server_name frp.your_domain.com;

	location / {
		# 這裏的端口需要跟frps的vhost_http_port的設置保持一致
		proxy_pass http://127.0.0.1:8081/;
		proxy_set_header	Host	$host;
		proxy_set_header	Remote_Addr	$remote_addr;
		proxy_set_header	X-Real-IP $remote_addr;
		proxy_set_header	X-Forwarded-For	$remote_addr;
	}
}
  • 配置本地frp

也是兩個文件:frpc.exe和frpc.ini

[common]
#雲服務器的固定IP及端口
server_addr = 100.100.100.100
server_port = 7000

#設置特權模式token值,與服務frps.ini中的一致
privilege_token = token

# 指定日誌文件;,如果不使用,則在控制檯顯示
#log_file = ./frpc.log 
# 指定日誌等級;
log_level = info 
log_max_days = 3

#設置管理地址,本地通過http://127.0.0.1:7400可以看到
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_passwd = admin

#第一個web
[web01]
privilege_mode = true
type = http
local_ip = 127.0.0.1
local_port = 8080
#自己的域名,與雲服務器nginx配置的一致
custom_domains = frp.your_domain.com

#第二個web。如果暫時不用需要把以下全部進行#註釋
#[web02]
#privilege_mode = true
#type = http
#local_ip = 127.0.0.1
#local_port = 8081
#custom_domains = web2.you_domain.com

#如果是多個web,在nginx的server_name中以空格間隔即可。
#如: sever_name frp.your_domain.com web3.you_domain.com;
[web03]
privilege_mode = true
type = http
local_ip = 127.0.0.1
local_port = 8083
custom_domains = web3.you_domain.com

執行frpc

d:\frp>frpc.exe -c frpc.ini
2020/02/02 21:39:30 [I] [service.go:250] [b68722bb3d86938e] login to server success, get run id [b68722bb3d86938e], server udp port [0]
2020/02/02 21:39:30 [I] [proxy_manager.go:144] [b68722bb3d86938e] proxy added: [web01]
2020/02/02 21:39:30 [I] [service.go:130] admin server listen on 127.0.0.1:7400
2020/02/02 21:39:30 [I] [control.go:164] [b68722bb3d86938e] [web01] start proxy success

以上只是執行了一個web

調試

微信指定域名:frp.your_domain.com

本地debug自己的程序

完成搭建

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章