使用的frp:frp_0.21.0_linux_amd64
一:服务端配置
[common]
#虚拟主机穿透监听端口(指http与https的访问端口)
vhost_http_port = 8085
#vhost_https_port = 7443
#穿透监听端口与地址(0.0.0.0表示允许任何地址)
bind_addr = 0.0.0.0
bind_port = 7000
# 路由地址
subdomain_host = fanyi.youtest.com
#服务器用以显示连接状态的站点端口,以下配置中可以通过访问IP:7500登录查看frp服务端状态等信息
dashboard_addr = 0.0.0.0
dashboard_port = 7500
服务端启动命令:
./frps -c ./frps.ini
说明:
1:vhost_http_port就是客户端(也就是你本地tomcat项目启动端口)访问项目端口
2:subdomain_host就是客户端指向的地址
二:客户端配置
[common]
server_addr = you sevces IP
server_port = 7000
#[ssh]
#type = tcp
#local_ip = 127.0.0.1
#local_port = 22
#remote_port = 7776
#[desktop]
#type = tcp
#local_port = 3389
#remote_port = 7777
[ok]
type = http
local_ip = 127.0.0.1
local_port = 8085
subdomain = ok
custom_domains = fanyi.youtest.com
客户端启动命令:
.\frpc.exe -c .\frpc.ini
说明:
1:server_addr就是frp服务端ip
2:service_post的端口要和服务端bind_port保持一致
3:custom_domains要和服务的的subdomain_host保持一致
4:如果想访问ok.fanyi.youtest.com,除了需要在解析的是,配置泛解析之外,还需要在客户端配置subdomain=ok 这一句,很重要。凯哥就忘了配置这个
三:nginx配置
在nginx.conf配置文件中:
复杂的写法:
server {
listen 80;
server_name *.fanyi.youtest.com;
location ~^/ {
proxy_pass http://$host:8085;
proxy_set_header Host $host;
proxy_set_header Remoter_addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 128k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
location ~ .*\.(gif|jpg|png|bmp|swf|css|js)$ {
proxy_pass http://$host:8085;
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 1d;
}
}
简单的写法:
server {
listen 80;
server_name *.frptest.nnn.com;
location ~^/ {
proxy_pass http://127.0.0.1:8085;
proxy_set_header Host $host;
proxy_set_header Remoter_addr $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 128k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
}
}
重启nginx。
凯哥使用的是kill命令。
ps -ef|grep nginx
然后把pid kill -9 杀掉。
在nginx sbin目录下使用:
./nginx -c /usr/local/nginx/conf/nginx.conf
命令重启nginx