首先你會有個疑惑,frp是什么呢?簡單的說frp就是內網穿透工具,配置好客戶端以后,可以通過服務器來訪問內網。
現在我的服務器,已經用nginx 做站了,80端口只有一個,那如果frp的服務端也想使用80端口,那應該怎么辦呢?
經過查詢,這個是可以實現的,就是利用nginx的反向代理來實現。
補充一下:frps就是服務器端(server),frpc就是客戶端(client)。
第一步:修改服務器中nginx.conf配置文件
在nginx.conf中http{ }里添加以下參數,
server?{ ??listen?80; ??server_name?xiaoyue.ml?www.xiaoyue.ml; ??location?/?{ ???proxy_pass?http://127.0.0.1:8080; ???proxy_redirect?http://$host/?http://$http_host/; ???proxy_set_header?x-real-ip?$remote_addr; ???proxy_set_header?x-forwarded-for?$proxy_add_x_forwarded_for; ???proxy_set_header?host?$host; ??} }
如下圖,設置好后保存,重啟nginx
第二步:修改frp服務端配置文件
既然反向代理到了8080端口,那么frp服務端的配置文件也需要進行設置
frps.ini配置文件中vhost_http_port = 8080端口
第三步:修改frp客戶端配置文件
第一步配置中:server_name xiaoyue.ml www.xiaoyue.ml; 這里填寫對應域名。
也支持泛解析,例如:server_name *.xiaoyue.ml;需要域名同時進行泛解析才行。
那么frpc.ini怎么修改呢,很簡單
對應穿透服務配置里配置好對應域名,custom_domains = xiaoyue.ml
第四步:
服務器中重啟frps,本地電腦中啟動frpc,就可以在瀏覽器中通過80端口直接訪問xiaoyue.ml了。
補充一下1:
??? xiaoyue.ml是解析到我的服務器中,而這個網站是搭建在局域網里面我自己的電腦中。
??? 也就是首先保證你電腦上訪問127.0.0.1,是有內容的哦。
補充一下2:
??? 第一步的反向代理也可以這么做
??? 寶塔后臺
??? 1)網站–>添加站點,輸入你的域名
??????? 比如輸入添加的域名xiaoyue.ml 提交
??? 2)點擊設置–>反向代理
??????? 目標url 中填寫? http://127.0.0.1:8080 ,請勿輸入錯誤
??????? 選擇 啟用反向代理
ps:是不是看的有點懵。。。
其實本文核心就一步,那就是將比如你訪問xiaoyue.ml(默認情況下,我們訪問網站都是80端口),反向代理到xiaoyue.ml:8080端口而已。
那這樣做有什么意義呢,就是想直接通過域名訪問,而不是通過域名:端口號訪問網站。