飞跃高山与大洋的鱼飞跃高山与大洋的鱼
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
首页
先看
计算机
  • 数学
  • Linux
  • Arch
  • Manjaro
  • Ubuntu
  • CentOS
  • Kubernetes
  • Web
  • JavaScript
  • TypeScript
  • CSS
  • Canvas
  • Vue
  • Vite
  • NuxtJS
  • Webpack
  • Flutter
  • D3
  • Jest
  • WeApp
  • Utils
  • Nodejs
  • Nestjs
  • Golang
  • Nginx
  • Traefik
  • MySQL
  • MongoDB
  • Redis
  • Docker
算法
  • 像素风
  • Git
  • Github
  • VSCode
  • Chrome
  • Google
  • Bookmark scripts
  • 导航 🎉
  • VuePress 侧边栏插件
  • VuePress 官网
🚇 开往
  • UBUNTU

    • Ubuntu
    • 修改 swap 分区大小
    • 配置网络 netplan
    • 修复时间显示
    • 内网穿透 FRP
    • FRP 和 Nginx 共用 80 端口
      • 配置
        • 1. 服务器端 FRP 配置
        • 2. 服务器端 Nginx 配置
        • 3. 域名解析配置
        • 4. 客户端 FRP 配置
      • 测试
    • Ubuntu 下安装最新版本的 Nginx
    • Ubuntu 计算机配置

FRP 和 Nginx 共用 80 端口

虽然在 FRP 官网中给了 web 服务配置的示例,但在实际使用中存在两个问题:

  • 有时部分资源找不到,导致页面无法渲染
  • 域名后面还带一个端口,实在有点丑

配置

1. 服务器端 FRP 配置

[common]
bind_port = 7000
vhost_http_port = 8080
subdomain_host = frp.xxx.com

2. 服务器端 Nginx 配置

利用正则来匹配所有的 frp 二级域名。

# /etc/nginx/conf.d/frp.conf

server {
  listen       80;
  server_name  frp.xxx.com *.frp.xxx.com;

  #charset koi8-r;
  #access_log  /var/log/nginx/host.access.log  main;

  location / {
    proxy_pass              http://127.0.0.1:7000;
    # 此处简写
    proxy_set_header        Host $host;
  }


  #error_page  404              /404.html;

  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   /usr/share/nginx/html;
  }
}

3. 域名解析配置

根据 Nginx 的配置添加两项:

  • frp.xxx.com
  • *.frp.xxx.com

4. 客户端 FRP 配置

客户端的 Nginx 配置为默认时就可以使用,此处省略。

[common]
server_addr = xxx.xx.xx.xxx
server_port = 7000

# [ssh] 省略

[web1]
type = http
local_ip = 127.0.0.1
local_port = 80
subdomain = sub1

测试

最后通过浏览器访问 sub1.frp.xxx.com 即可展现效果。

编辑文档!
上次更新:
贡献者: shanyuhai123
Prev
内网穿透 FRP
Next
Ubuntu 下安装最新版本的 Nginx