一直以来,老苏都是使用群晖内置的反向代理,虽然很方便易用,但在某些情况下显得并不灵活。比如老苏打算安装 Authelia,需要修改 nginx 转发规则,必须通过 SSH 登录后找到相应的文件修改,这一点上不如 nginx-proxy-manager,当你习惯后,你会发现 npm 的优点远不止这点。

什么是 Nginx Proxy Manager ?

Nginx Proxy Manager 是用于管理 Nginx 代理主机的 Docker 容器,具有简单、强大的界面。它使您可以轻松地转发到您在家里或其他地方运行的网站,包括免费的 SSL,而无需对 NginxLetsencrypt 了解太多。

安装

数据库

通过 phpMyAdminMariaDB 10 中新建用户 npm,创建同名的库 npm 并授予所有权限。

老苏试过 MariaDB 5,写数据库有问题,表现为登录不成功,显示 Bad Gateway 错误

安装镜像

在群晖上以 Docker 方式安装。

在注册表中搜索 nginx-proxy-manager ,选择第一个 jc21/nginx-proxy-manager,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 npm,再建 2 个子目录,分别命名为 dataletsencrypt

文件夹 装载路径 说明
docker/npm/data /data 存放数据
docker/npm/letsencrypt /etc/letsencrypt 存放自动申请证书

端口

端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
2443 443
2080 80
2081 81

环境

可变
DB_MYSQL_HOST 群晖主机 IP 地址
DB_MYSQL_PORT 默认为 3306
DB_MYSQL_USER 根据前面的设置,数据库用户为 npm
DB_MYSQL_PASSWORD 数据库用户 npm 的密码
DB_MYSQL_NAME 根据前面的设置,库名为 npm

运行

在浏览器中输入 http://群晖IP:2081 就能看到主界面

默认的账号:admin@example.com,密码:changeme

登录后可以编辑用户信息

之后是密码

frp

因为老苏的宽带没有公网 IP ,一直以来都是用 frp 做内网穿透,所以首先要对 frpc.ini 做相应的修改

  • local_ip 是运行 frpc 的群晖的 IP
  • local_port 要根据前面设置的端口进行变更
  • custom_domains 用了泛域名,没有像在『 frp基础设置示例详解 』一文中指向了具体的子域名,例如: nas.laosu.ml
[http_xxxxxx]
type = http
local_ip = 192.168.0.199
local_port = 2080
custom_domains = *.laosu.ml[https_xxxxxx]
type = https
local_ip = 192.168.0.199
local_port = 2443
custom_domains = *.laosu.ml

证书

进入主菜单的 SSL Certificates

Add SSL Certificate 有两种方式,一种是在线申请,另一种是添加已有证书

在线申请和我们在『 免费的泛域名https证书自动续期 』一文中介绍的非常类似,需要选择 DNS 解析服务提供商,以及填写 token 等参数

老苏因为已经配置了 Certbot 并实现了自动续期,所以只需要导入现有证书就可以了,Name 老苏用了域名,这样比较容易识别

  • 私钥 Certificate Key 对应 privkey.pem
  • 证书 Certificate 对应 fullchain.pem
  • 中间证书 Intermediate Certificate 对应 chain.pem

上传成功后,证书存放在 /data/custom_ssl/ 目录中以 npm-1npm-2 等子目录保存

反向代理

进入主菜单的 Hosts

以将 http://192.168.0.197:5000 映射到 https://nas.laosu.ml 为例

  • 因为是 Docker 容器方式运行的,所以即便是本机也不要用 localhost,一定要用 IP
  • 默认 Cache AeeetsBlock Common ExploitsWebsocket Support 建议都勾上

选择 SSL 证书

因为准备用 https 协议访问,所以必须勾选 Force SSL

其他的 HTTP/2HSTS 和群晖内置的是一样的,可根据需要勾选,没啥问题的话老苏建议都勾上

小结

为什么要另外安装 nginx proxy manager 而不是用群晖内置的反向代理的原因,老苏在一开始就讲了,装完之后老苏还发现了几个优点:

  1. 不用再依赖群晖,这使得老苏将来可以很方便的切换到其他平台
  2. 即便是 DSM6.1.7 也不再有 『 HomeAssistant设置https访问后的问题 』一文中的情况,只要简单勾选 Websockets support 即可,而不需要各种修改
  3. 速度快,也许只是心理感觉

题外

最终 Authelia 并没安装成功,原因是不能在非标的端口上使用。

由于没有备案的缘故,https 协议不能使用 443 端口

假设你用了非标的 444Authelia 会自动截掉端口(因为 443 是可以不用写的),从而导致资源加载失败

反向代理服务器nginx-proxy-manager相关推荐

  1. 【玩转Docker】【02】反向代理神器 — Nginx Proxy Manager

    一.安装 Nginx Proxy Manager 1.创建安装目录 screen # 启动screen会话,防止安装中途 SSH 连接断开,导致安装失败.sudo -i mkdir -p /root/ ...

  2. 反向代理神器 Nginx Proxy Manager 中文版(汉化版)

    简介 Nginx Proxy Manager 中文版是基于 NginxProxyManager/nginx-proxy-manager 翻译的中文版本,该项目属于一个预构建的docker映像,它可以让 ...

  3. 高性能反向代理服务器Nginx

    文章目录 1.Nginx简介 1.1 Nginx能做什么 1.2 正向/反向代理 2.Nginx的安装 2.1 Linux中安装Nginx 2.2 Windows中安装Nginx 3.反向代理配置 4 ...

  4. Java 攻城狮面试题 03_ Nginx 反向代理服务器

    Nginx 概念 什么是正向代理和反向代理? 1.正向代理,为用户代理.意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并 ...

  5. 反向代理服务器工作原理及示例

    一.什么是反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请 ...

  6. 转:反向代理服务器的工作原理

    一.什么是反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请 ...

  7. 反向代理服务器(转)

    反向代理及Nginx示例 1 反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果 ...

  8. 使用域名访问后台系统、Nginx反向代理服务器

    1.1 现象 假设我们访问后台的请求地址为:http://localhost:9101/admin/index.html 1.2 问题 现在访问的路径:http://127.0.0.1:9101/ad ...

  9. 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

    一.反向代理:Web服务器的"经纪人" 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网 ...

最新文章

  1. 查看LoadRunner脚本请求日志和服务器返回值方法
  2. OpenGL Fur Rendering毛发渲染的实例
  3. IOS UI开发基础之超级猜图完整版本-08
  4. 利用Matlab拟合时序植被生长季曲线,并求解物候参数
  5. linux 查找某目录下包含关键字内容的文件(文件内容、grep)
  6. ASP.Net导出EXCEL表(小结)
  7. About_PHP_验证码的生成
  8. 王国权辞任中国电信股份有限公司执行副总裁
  9. CodeForces 27A Next Test(简单hash)
  10. 安装了一下WinZip,感觉很难用
  11. 清风数学建模学习笔记——层次分析法(AHP)
  12. IDEA 代码分析工具
  13. 2022年起重机械指挥特种作业证考试题库及答案
  14. Oracle查询数据表数据很少却很慢(查询空表很很耗时)
  15. PostgreSQL索引(一)
  16. 危险进程集粹(附说明)
  17. 华为BOX300连线及配置
  18. Linux之下载速度慢解决办法
  19. java计算机毕业设计消防安全应急培训管理平台源码+系统+数据库+lw文档+mybatis+运行部署
  20. 半小时学习最小二乘法

热门文章

  1. 计算机网络笔记----概述
  2. 会员体系是以权益为表现的用户场景连接
  3. ARP中间人攻击详细过程及原理
  4. 全球5G专利排行榜:高通掉落第五,中国企业夺冠!
  5. zblog网站副标题去掉短线 - 桃源侠
  6. testbench产生不同频同相位的时钟信号
  7. 如果你用String.spit(“|”)
  8. php抢票插件下载,实测两款 GitHub 开源抢票插件,所有坑我们都帮你踩过了
  9. UR--MoveIt Setup Assistant and Simulation
  10. STM32F0xx_TIM输出PWM配置详细过程