再记frp配置

  • 作者: 凯哥Java
  • 经验分享
  • 时间:2019-04-13 17:31
  • 573人已阅读
简介 使用的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.0bind_

使用的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

Top Top