51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

彻底搞懂反向代理神器Nginx Proxy Manager的配置和使用,一键配置反向代理、重定向、SSL、Nginx认证、404等,谁看了谁都会配置Nginx

视频讲解 {#视频讲解}

基本使用 {#基本使用}

  • Bilibili:https://www.bilibili.com/video/BV1Ws4y1A7Lk
  • Youtube:https://youtu.be/bPKNYPdLJTo

负载均衡配置 {#负载均衡配置}

  • Bilibili:https://www.bilibili.com/video/BV1XT41187fv
  • Youtube:https://youtu.be/Ee35VIpbBPU

前言 {#前言}

详细内容都在视频中进行讲解

Nginx Proxy Manager官网

Nginx的优点

  • 正向代理
  • 反向代理
  • 负载均衡
  • 动静分离

Nginx的使用配置参考文章: https://blog.fjy.zone/archives/nginx-config

如果不用的话,Nginx怎么使用?环境配置?修改新增Nginx?

  • Linux系统安装Nginx环境(安装 gcc zlib zlib-devel pcre-devel openssl openssl-devel等包)
  • 自己不带SSL,需要安装 CertBot
  • 配置麻烦,每次新增网站都要配置 conf 文件,然后nginx reload,还要配置SSL
  • 等等......

为什么要使用Nginx Proxy Manager?解决了什么问题?

  • 无需命令
  • Docker安装
  • 非常好的可视化界面
  • 快速配置反向代理
  • 快速配置重定向
  • 一键SSL
  • 页面权限控制(Nginx认证)
  • 多用户管理
  • 操作日志查看
  • 分布式部署
  • 等等......

安装 {#安装}

首先需要安装 docker 和 docker-compose 环境,参考文章:

Docker镜像安装

  • 英文镜像 - jc21/nginx-proxy-manager
  • 中文镜像 - chishin/nginx-proxy-manager-zh

数据存储方式

  • SQLite(默认用SQLite)
  • MySQL(使用MySQL,可分布式部署)

使用 {#使用}

静态资源配置 {#静态资源配置}

因为有NPM在运行,监听了443端口和80端口,避免为了一个静态网站而建立另一个Web服务器。
托管一些简单的HTML单页是一个简单的、低流量的需求,使用NPM已经运行的内置NGINX就可以了。

我这边是在 NPM 容器卷的 data 文件夹下新建了一个 static 文件夹用来存放静态资源

新配置一个Proxy,监听80端口,
然后在 Advanced 中的 Custom Nginx Configuration 中写入 location 配置即可

location / {
  root /data/static;
}

404 {#404}

解决老域名问题:

location / {
  default_type text/html;
  add_header Content-Type "text/html; charset=utf-8";
  return 200 '<div>因网站域名更换,此域名将下线,请访问新域名:<a href="https://blog.fjy.zone" target="_blank">博客</a></div>';
}

相关问题 {#相关问题}

部分同学在申请 SSL 的时候报错提示找不到 zope 模板,这时需进入容器内安装 zope 模块,pip install zope

赞(1)
未经允许不得转载:工具盒子 » 彻底搞懂反向代理神器Nginx Proxy Manager的配置和使用,一键配置反向代理、重定向、SSL、Nginx认证、404等,谁看了谁都会配置Nginx