原文地址:点击跳转

最近frp用户量有点多,而且很多用户都是想把部署于本地或者内网的web服务暴露至公网,之前提到过,暴露到公网之后如果一般都需要用域名:端口的方法来访问,但是没有人会喜欢用这种方式访问网站的。

于是问题就来了

只有一台机器,用户都想把自己的web服务映射到80端口,可我的80端口就只有一个,如果第一个用户使用了80,第二个用户再使用80肯定会提示端口冲突,所以只通过frp本身的功能是不够的。

如何实现多用户共用80端口

一开始陷入了一个圈里,我在想“假设多个用户能共用80端口,也就是80端口对应几个不同的内网web服务,那其他人通过80端口访问web服务时,服务器怎么会知道到底把请求转发给哪一个WEB服务呢”

诶嘿!结果绕着绕着思路还真就找到了。

我直接告诉服务器哪个域名对应哪个内网web服务不就行了!

于是想到nginx的负载均衡(可能不太准确,或者说是反向代理)功能正好能实现。

框架大概是这样:假设不同用户的内网80端口分别转发至服务器的8001、8002、8003·····他们各自的域名分别为a.com 、 b.com 、c.com然后我告诉nginx,有人请求访问a.com了,你就去找8001端口;有人访问b.com了,你就去找8002······以此类推。

(太困了,明天继续写)

下面举个例子,我自己老母鸡上有一个站点是demo.wuter.cn,根据我的frp的vhost_http_port设置,这个站点的80端口是映射到公网的8081端口的,但我又想直接通过公网的80端口访问,于是在nginxserver模块加一个反向代理的设置。

server
{
listen 80;
server_name demo.wuter.cn;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/demo.wuter.cn;
location /
{
proxy_pass http://127.0.0.1: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;
 
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
 
proxy_set_header Accept-Encoding "";
sub_filter "127.0.0.1" "wuter.cn";
sub_filter_once off;
 
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache cache_one;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 301 302 120m;
expires 12h;
}
}

此时直接访问http://demo.wuter.cn就可以直接访问到我的老母鸡上。(文章发出时已关闭母鸡)

基于nginx负载均衡及frp的内网穿透实例3-多用户多网站共用80端口的更多相关文章

  1. 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问

    原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...

  2. 基于frp的内网穿透实例1-通过SSH访问内网机器

    原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...

  3. 基于frp的内网穿透实例2-通过自定义域名访问部署于内网的 web 服务

    原文地址:https://wuter.cn/1837.html/ 一.想要实现的功能 1.将部署在自己电脑上的网站用于公网访问. 2.将未备案域名解析至国内服务器(即我宿舍的老母鸡上). 二.服务端配 ...

  4. 使用frp进行内网穿透,实现ssh远程访问Linux服务器

    搭建一个完整的frp服务链需要: VPS一台(也可以是具有公网IP的实体机) 访问目标设备(就是你最终要访问的设备) 简单的Linux基础(如果基于Linux配置的话) 我这里使用了腾讯云服务器作为服 ...

  5. frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...

  6. 疫情之下,使用FRP实现内网穿透,远程连接公司电脑进行办公

    当前情况下,经常会有需要到公司电脑进行一些操作,比如连接内网OA,数据库或者提交文档.为了减少外出,将使用frp进行内网穿透的方法进行一个说明. 前提条件 1. 一台拥有公网 IP 的设备(如果没有, ...

  7. frp实现内网穿透

    frp实现内网穿透 目标 通过外网访问内网设备,本文中实现通过手机的移动流量,可以访问到树莓派设备 设备准备 需要被访问的设备(本文中使用Raspberry Pi`).公网IP设备(本文中使用阿里云 ...

  8. 分享下超实用的用skura frp做内网穿透的经验

    操作目的: 使无公网ip的主机能被外网访问,实现ssh对服务器的远程管理 硬件准备: 1.服务端:skura frp主机(skura frp 免费提供,有待创建) 2.客户端:接在无线路由器(内网)上 ...

  9. 使用FRP做内网穿透

    Github地址:https://github.com/fatedier/frp 什么是FRP? frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 h ...

随机推荐

  1. css实现元素环形旋转

    元素中心旋转效果记录 先上代码 //css代码 .header{   -webkit-animation:rotateImg 1s linear infinite;   /*rotateImg对应下方 ...

  2. 考研数学数一公式整理(微积分&线性代数&概率统计)

    主要根据李永乐老师的线性代数讲义.全书和汤家凤老师的高数讲义整理的. 用于记背数学需要背的公式和步骤,概念.定义.公式多,方法步骤少(毕竟太庞杂了). 本来是自用,但还是分享一下,希望有补充指正! 链 ...

  3. Day 1-决胜IT十八招-前言

    走资讯这一行转眼间八年多了,从大学的时候,我有长达十年的时间思索在从事软体开發这一行到底怎麽存活下来,这思考下来,为自己总算找到一个出口来,这十八招只是其一的绝学,见阵这一行干软体开發的变化也很大,从 ...

  4. Django 多对多表的三种创建方式

    第一种: class Book(models.Model): name = models.CharField(max_length=32) # 第一种自动创建 authors = models.Man ...

  5. 03Python网络编程之单线程服务端

    # 对于单线程的服务端,我们借助于zen_utils(我们自己编写好的一些函数)是很容易就实现的.# 导入这个模块import zen_utilsif __name__ == '__main__': ...

  6. UnityEditorWindow做一个TimeLine的滑动块

    UnityEditorWindow做一个TimeLine的滑动块 最近在做一个基于TimeLine的动画编辑器,在制作TineLine滑动条时遇到问题,网上查了好久,试了好多GUI组件都不满意.最后在 ...

  7. 深度优先遍历&广度优先遍历

    二叉树的前序遍历,中序遍历,后序遍历 树的遍历: 先根遍历--访问根结点,按照从左至右顺序先根遍历根结点的每一颗子树. 后根遍历--按照从左至右顺序后根遍历根结点的每一颗子树,访问根结点. 先根:AB ...

  8. day1(Django路径问题)

    1.python中的三种路径 1.1 操作系统文件绝对路径 django 静态文件查找, 模板查找(第一种) # 去配置好的 文件夹 中查找指定的文件 BASE_DIR = os.path.dirna ...

  9. 老猿学5G随笔:RAN、RAT以及anchor移动性锚点的概念

    最近在学习UPF的功能时,有这样一句话"用户平面功能(UPF)包括以下功能. 用于RAT内/ RAT间移动性的锚点(适用时)",这句话不理解,后来看到了<关于移动锚点的理解! ...

  10. Python中自定义类未定义__lt__方法使用sort/sorted排序会怎么处理?

    在<第8.23节 Python中使用sort/sorted排序与"富比较"方法的关系分析>中介绍了排序方法sort和函数sorted在没有提供key参数的情况下默认调用 ...