资讯专栏INFORMATION COLUMN

frp 和 nginx 搭建一个内网穿透服务器

Lemon_95 / 3313人阅读

摘要:相关资料下载相关文档下载下载地址选择对应的版本进行下载如果是需要下载版本下载后我的服务端是客户端是服务端需要关注的文件是客户端需要关注的文件是或者是注意,如果运行的环境是就要运行版本的,也就是后缀的配置服务端配置文件服务端需要开启的端口与客

相关资料

frp下载 :https://github.com/fatedier/frp

相关文档: https://github.com/fatedier/frp

下载

下载地址:https://github.com/fatedier/f...
选择对应的版本进行下载

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_386.tar.gz

如果是windows需要下载windos版本

wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_darwin_amd64.tar.gz

下载后、我的服务端是centos 客户端是windows

服务端需要关注的文件是 frps、frps.ini
客户端需要关注的文件是 frpc(或者是frpc.exe)、frpc.ini

注意,如果运行的环境是windows就要运行windows版本的,也就是exe后缀的

配置服务端 配置文件
# frps.ini
[common]
#服务端需要开启的端口(与客户端绑定的进行通信的端口)
bind_port = 7000
#服务端需要开启的端口(访问客户端web服务自定义的端口号)
vhost_http_port = 8081
auth_token = websong

type = http
custom_domains = abc.baidu.com
auth_token = websong
配置文件说明

bind_port
服务端需要开启的端口

vhost_http_port
服务端需要开启的端口

auth_token
需要客户端的auth_token与此一样

type
其实除了http还有其他参数,比如tcp,这里只讲述http,其他的请看相关文档: https://github.com/fatedier/frp

custom_domains
域名
具体接下来在配置客户端说明

启动服务

正常启动,ctrl+c能推出

 ./frps -c ./frps.ini

后台启动

nohup ./frps -c ./frps.ini &

如果有兴趣,更可以设置成开机启动(这里不讲述)

配置客户端 配置文件
# frpc.ini
[common]
server_addr = 48.104.176.184
server_port = 7000
auth_token = websong

[web6]
type = http
local_port = 80
custom_domains =b.abc.baidu.com
配置文件讲解

server_addr
对应服务器ip ,

server_port
与服务端配置bind_port一样

auth_token
与服务端配置auth_token一样

[web6]
这个是唯一的,假如在另外一个客户端用了web6将会报明显的错误

local_port
此端口,假如是80,那就是访问客户端机器的80端口

custom_domains
域名 这里重点说一下,这个参数可以填的域名有

 abc.baidu.com
*.abc.baidu.com

但是,这些域名都是需要解析到服务器ip的
*.abc.baidu.com 这里就需要使用到域名泛解析
具体百度即可

客户端启动
./frpc -c ./frpc.ini

windows

 ./frpc.exe -c ./frpc.ini

后台启动前面加 nohup 跟服务端一样

nohup ./frpc.exe -c ./frpc.ini
穿透成功 启动网站
如果以上服务端启动,客户端启动都没问题的话
以客户端的配置的域名:custom_domains
和 服务端配置的端口vhost_http_port在浏览器打开即可
也就是 b.abc.baidu.com:8081
其实这些就相当于访问你客户端本机的
127.0.0.1:80 或者localhost:80,
这个80端口是客户端配置文件的的local_port

至此内网穿透完成

但是

但是刚刚有没有发现,访问的是带端口的网址,b.abc.baidu.com:8081

如果不想带端口呢,浏览器的默认端口是80,也就是说,我把服务端vhost_http_port,配置成80就好了,当然这样能解决

但是如果服务器有其他程序占用80端口呢,比如nginx,总不能把nginx换成其他端口吧,那我的博客www.blog.com就因为这个得改成www.blog.com:9090 假设改成9090,所以肯定有办法公用的

办法就是,我们可以利用nginx的反向代理就能完成,请接下来往下看 配置nginx

原文地址:http://www.taoluyuan.com/index.php/archives/42/

配置nginx 配置文件
server{
 listen 80;
    server_name *.abc.baidu.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/abc/;

 location / 
    {
        proxy_pass http://48.104.176.184:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;                       
    }
}
说明

如配置文件所属

本来是需要访问 http://b.abc.baidu.com:8081 的

nginx使用了泛域名配置,*.abc.baidu.com (你自己的域名肯定不一样)

 server_name *.abc.baidu.com;

反向代理配置

 proxy_pass http://48.104.176.184:8081;

ip是服务端的ip,端口是服务端配置vhost_http_port 8081

至于nginx的其他参数,跟平常大多数nginx配置网站参数一样
这里使用到了nginx泛域名解析,和反向代理
完成打开网站

如果客户端配置的custom_domains是b.abc.baidu.com
在浏览器输入 b.abc.baidu.com ,就不用带端口号8081 ,应为已经被nginx反向代理了;
这样做的好处是

使用的时候直接在浏览器输入域名就可以,不用输入端口,用户也不用知道服务端的vhost_http_port 端口是什么,

让服务器其他网站的端口可以不用改;

原文地址:http://www.taoluyuan.com/index.php/archives/42/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40122.html

相关文章

  • ngrok内网穿透务器搭建及配置(附 frp 配置)

    摘要:作为一个内网穿透的小工具,有时可能会时常更改配置等,所以作为本地的一个开机启动的小服务即可。设置开机启动输入命令设置开机启动开启查看状态停止内网穿透配置相对于另一款国内大牛做的要显的更加轻量安全易配置些。 12月18日更新 添加 frp 配置 前言 内网穿透,无需多言,用处多多。首先强力推荐一款Sunny大大搭建的ngrok服务好用的不行,而且有免费选项,感觉平时够用了。那么,为什么自...

    李昌杰 评论0 收藏0
  • 使用Frp内网穿透快速搭建Web应用实践

    一、背景 笔者最近折腾docker服务比较多,这几天想把在内网中的服务搬到公网当中,但docker对内存要求较高,而云服务高内存的服务器又比较贵,家里虽然有一台旧笔记本内存还可以,但是没有公网IP地址,视乎还是没有办法,就在纠结的时候想起FRP这个内网穿透软件,重新回顾了一下搭建方法,发现搭建步骤较为简单,为了以后有所参考,所以把搭建步骤详细记录了下来。 二、操作步骤 配置服务端 配置客户端 检...

    fengxiuping 评论0 收藏0
  • 使用Frp内网穿透快速搭建Web应用实践

    一、背景 笔者最近折腾docker服务比较多,这几天想把在内网中的服务搬到公网当中,但docker对内存要求较高,而云服务高内存的服务器又比较贵,家里虽然有一台旧笔记本内存还可以,但是没有公网IP地址,视乎还是没有办法,就在纠结的时候想起FRP这个内网穿透软件,重新回顾了一下搭建方法,发现搭建步骤较为简单,为了以后有所参考,所以把搭建步骤详细记录了下来。 二、操作步骤 配置服务端 配置客户端 检...

    dadong 评论0 收藏0

发表评论

0条评论

Lemon_95

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<