FRP內(nèi)網(wǎng)穿透工具

1徘溢、什么是FRP

frp 是一個(gè)可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用吞琐,支持 tcp, udp, http, https 協(xié)議。主要他是一個(gè)開源的然爆。

https://github.com/fatedier/frp
http://getfrp.yzxx-soft.com/index.html

具體配置以及使用方法我這里就不過(guò)多介紹了站粟,官方文檔有詳細(xì)說(shuō)明。

本篇文章目標(biāo):
1曾雕、自定義二級(jí)域名做本地端口映射
2奴烙、要求支持80端來(lái)做微信開發(fā)調(diào)試
3、能查看端口的連接狀態(tài)

這里我貼出我的配置內(nèi)容如下:

2剖张、服務(wù)端端配置 frps.ini

假如服務(wù)端的IP地址為:121.35.99.12

[common]
bind_port = 7000 
vhost_http_port = 9988 #由于80端口已暫用這里我們使用Nginx做端口映射到80端口來(lái)做微信開發(fā)的調(diào)試切诀,如何映射后文會(huì)介紹
#連接池
max_pool_count = 5
#token驗(yàn)證
privilege_token = javen
#自定義二級(jí)域名
subdomain_host = javen.abc.com
#控制面板
dashboard_port = 9999
dashboard_user = javen
dashboard_pwd = javen
#日志
log_file = ./frps.log
log_level = info
log_max_days = 3

3、客戶端配置 frpc.ini

[common]
server_addr = 121.35.99.12 # 服務(wù)器IP
server_port = 7000 # 服務(wù)器bind_port
privilege_token = javen

[web]
type = http
local_port = 8080 # 映射到本地的8080端口
subdomain = mac

# 如果不使用SSH可以將其注釋掉
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

4搔弄、自定義二級(jí)域名

在多人同時(shí)使用一個(gè) frps 時(shí)幅虑,通過(guò)自定義二級(jí)域名的方式來(lái)使用會(huì)更加方便。

通過(guò)在 frps 的配置文件中配置 subdomain_host顾犹,就可以啟用該特性倒庵。之后在 frpc 的 http、https 類型的代理中可以不配置 custom_domains炫刷,而是配置一個(gè) subdomain 參數(shù)哄芜。

只需要將 *.{subdomain_host} 解析到 frps 所在服務(wù)器。之后用戶可以通過(guò) subdomain 自行指定自己的 web 服務(wù)所需要使用的二級(jí)域名柬唯,通過(guò) {subdomain}.{subdomain_host} 來(lái)訪問自己的 web 服務(wù)认臊。

**
假如域名為:abc.com
去域名的控制面板添加解析 *.javen 到 121.35.99.12
**

5、客戶端訪問

http://mac.javen.abc.com:9988/user
映射到本地的
http://localhost:8080/user

6锄奢、Dashboard

通過(guò)瀏覽器查看 frp 的狀態(tài)以及代理統(tǒng)計(jì)信息展示失晴。

http://121.35.99.12:9999
登錄的用戶名以及密碼為服務(wù)端配置的
dashboard_user = javen
dashboard_pwd = javen

dashboard 界面

7、端口映射

這里我們使用Nginx將9988端口映射到80端口供微信開發(fā)調(diào)試使用



#user  nobody;
worker_processes  2;
worker_cpu_affinity 01 10;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    
    upstream wx {
       ip_hash;
       server localhost:8080 weight=1 max_fails=3 fail_timeout=60s;
           server localhost:8088 weight=1 max_fails=3 fail_timeout=60s;
    }
    
    server {
        listen       80;
        server_name  localhost;
        access_log  /home/nginxlog/wx_access.log;

        location / {
            proxy_redirect          off;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Forwarded-For $remote_addr;
            client_max_body_size      20m;
            client_body_buffer_size 128k;
            proxy_connect_timeout   600;
            proxy_send_timeout      600;
            proxy_read_timeout      900;
            proxy_buffer_size       4k;
            proxy_buffers           4 32k;
            proxy_busy_buffers_size 64k;
            proxy_temp_file_write_size 64k;
            proxy_pass http://wx;
        }

    }

        server {
                listen       80;
                server_name  *.javen.abc.com;
                access_log  /home/nginxlog/frp_access.log;

                location / {
                        proxy_redirect          off;
                        proxy_set_header Host $host:$server_port;
                        proxy_set_header X-Forwarded-For $remote_addr;
                        client_max_body_size      20m;
                        client_body_buffer_size 128k;
                        proxy_connect_timeout   600;
                        proxy_send_timeout      600;
                        proxy_read_timeout      900;
                        proxy_buffer_size       4k;
                        proxy_buffers           4 32k;
                        proxy_busy_buffers_size 64k;
                        proxy_temp_file_write_size 64k;
                        proxy_pass http://127.0.0.1:9988/;
                }

        }
    
    server {
        listen       8888;
        server_name  localhost;
        access_log   /home/nginxlog/static_access.log;

        location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|apk)$
        {
            root /home/ftp/private; 
            expires 7d; 
        }
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}


推薦閱讀
nginx下載安裝
nginx啟動(dòng)拘央、重啟涂屁、關(guān)閉
nginx 配置詳解
nginx 配置優(yōu)化詳解
nginx 負(fù)載均衡配置
nginx安裝第三方模塊的方法
nginx+tomcat動(dòng)靜態(tài)資源分離

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市灰伟,隨后出現(xiàn)的幾起案子拆又,更是在濱河造成了極大的恐慌,老刑警劉巖栏账,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帖族,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挡爵,警方通過(guò)查閱死者的電腦和手機(jī)竖般,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)茶鹃,“玉大人涣雕,你說(shuō)我怎么就攤上這事艰亮。” “怎么了挣郭?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵迄埃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我兑障,道長(zhǎng)侄非,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任旺垒,我火速辦了婚禮彩库,結(jié)果婚禮上肤无,老公的妹妹穿的比我還像新娘先蒋。我一直安慰自己,他們只是感情好宛渐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布竞漾。 她就那樣靜靜地躺著,像睡著了一般窥翩。 火紅的嫁衣襯著肌膚如雪业岁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天寇蚊,我揣著相機(jī)與錄音笔时,去河邊找鬼。 笑死仗岸,一個(gè)胖子當(dāng)著我的面吹牛允耿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扒怖,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼较锡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了盗痒?” 一聲冷哼從身側(cè)響起蚂蕴,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俯邓,沒想到半個(gè)月后骡楼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稽鞭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年君编,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片川慌。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吃嘿,死狀恐怖祠乃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兑燥,我是刑警寧澤亮瓷,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站降瞳,受9級(jí)特大地震影響嘱支,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜挣饥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一除师、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扔枫,春花似錦汛聚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至忍宋,卻和暖如春偏陪,著一層夾襖步出監(jiān)牢的瞬間熟菲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谣沸,地道東北人尖昏。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓蛙埂,卻偏偏與公主長(zhǎng)得像知残,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子云石,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容