首先说下应用场景——我手上一台m1的mac,欧博一台win10的电脑。我想在mac上搭起正向代理,在win10上应用这个代理。
然后开始实操:
下载frp这个在github搜fatedier的那个frp即可,我这里是需要在m1芯片的mac上运行所以下载了这个:
代码语言:javascript
复制
frp_0.44.0_darwin_arm64.tar.gz
更改配置1⃣️配置frps.ini,有第一行足矣
代码语言:text
复制
bind_port = 7000 # enable logs log_file = ./frps.log trace, debug, info, warn, error log_level = info log_max_days = 3
2⃣️配置frpc.ini,欧博娱乐其实都是可以参考frpc_full.ini中提供的样例去配的😌
代码语言:text
复制
[common] server_addr = 127.0.0.1 server_port = 7000 # enable logs log_file = ./frpc.log trace, debug, info, warn, error log_level = info log_max_days = 3 [proxy] type = tcp remote_port = 6000 plugin = http_proxy plugin_http_user = abc plugin_http_passwd = abc [socks5_proxy] type = tcp remote_port = 6005 plugin = socks5 plugin_user = abc plugin_passwd = abc
完成配置后,可以运行命令检查一下配置
代码语言:shell
复制
./frps verify -c frps.ini ./frpc verify -c frpc.ini
看到syntax is ok即校验通过那没什么问题了就,下图是frps,frpc也是一样的。
代码语言:shell
复制
tnt@tntdeMBP ~ % cd frp_0.44.0_darwin_arm64 tnt@tntdeMBP frp_0.44.0_darwin_arm64 % ./frps verify -c frps.ini frps: the configuration file frps.ini syntax is ok
配置校验
启动frp然后就依次启动frps和frpc,欧博allbet首先启动frps
代码语言:shell
复制
./frps -c frps.ini
再新建一个终端窗口或标签页,用来启动frpc
代码语言:shell
复制
./frpc -c frpc.ini
如果需要关闭frp,在对应的终端窗口按下快捷键Ctrl+C即可
访问端配置以http_proxy为例,在win10上手动配置代理,欧博百家乐这里我就通过Chrome插件SwitchyOmega来配置,填入代理服务器和代理端口后在页面左侧点击应用选项 保存配置:
创建代理配置
然后切换到这个代理:
切换代理配置
测试然后尝试网上冲浪:
访问腾讯云
总结上图中的 remote address就是代理服务器的地址了,这个是http代理的情况,如果是socks5代理这里还是源服务器的地址。
此外还可以用nginx搭起正向代理,配置形如:
代码语言:text
复制
server { listen 80; server_name localhost; resolver 202.96.103.36; #浙江电信dns # proxy_connect,该directive由第三方插件提供; proxy_connect; proxy_connect_allow 443 80; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_coneect_send_timeout 10s; location / { proxy_pass $scheme://$http_host$request_uri; } }
或形如:
代码语言:text
复制
server { resolver 114.114.114.114; #百毒dns listen 80; server_name localhost; #正向代理转发http请求 location / { proxy_pass $host$request_uri; proxy_set_header HOST $host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; } } server { resolver 223.5.5.5; #阿里dns listen 443; #正向代理转发https请求 proxy_connect; #源服务器的web资源的端口? proxy_connect_allow 443; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; location / { proxy_pass $host; proxy_set_header Host $host; } }
但是nginx相对于frp还是比较麻烦的,上述https的配置是建立在给nginx添加了第三方插件的基础上,
ngx_http_proxy_connect_module就是这么一个插件,
然后在访问端,配置代理服务器ip就是nginx的ip,然后代理端口就是nginx的server{}监听的端口例如443,nginx监听的端口就是访问端配置的代理端口。
对于http的web资源,以及https的web资源,不能放到同一个server{}下转发,这样的话还是用frp好好一点。