反向代理服务器nginx-proxy-manager
一直以来,老苏都是使用群晖内置的反向代理,虽然很方便易用,但在某些情况下显得并不灵活。比如老苏打算安装 Authelia
,需要修改 nginx
转发规则,必须通过 SSH
登录后找到相应的文件修改,这一点上不如 nginx-proxy-manager
,当你习惯后,你会发现 npm
的优点远不止这点。
什么是 Nginx Proxy Manager ?
Nginx Proxy Manager
是用于管理Nginx
代理主机的Docker
容器,具有简单、强大的界面。它使您可以轻松地转发到您在家里或其他地方运行的网站,包括免费的SSL
,而无需对Nginx
或Letsencrypt
了解太多。
安装
数据库
通过 phpMyAdmin
在 MariaDB 10
中新建用户 npm
,创建同名的库 npm
并授予所有权限。
老苏试过
MariaDB 5
,写数据库有问题,表现为登录不成功,显示Bad Gateway
错误
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 nginx-proxy-manager
,选择第一个 jc21/nginx-proxy-manager
,版本选择 latest
。
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 npm
,再建 2
个子目录,分别命名为 data
和 letsencrypt
文件夹 | 装载路径 | 说明 |
---|---|---|
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-1
、 npm-2
等子目录保存
反向代理
进入主菜单的 Hosts
以将 http://192.168.0.197:5000
映射到 https://nas.laosu.ml
为例
- 因为是
Docker
容器方式运行的,所以即便是本机也不要用localhost
,一定要用IP
- 默认
Cache Aeeets
、Block Common Exploits
、Websocket Support
建议都勾上
选择 SSL
证书
因为准备用 https
协议访问,所以必须勾选 Force SSL
其他的 HTTP/2
和 HSTS
和群晖内置的是一样的,可根据需要勾选,没啥问题的话老苏建议都勾上
小结
为什么要另外安装 nginx proxy manager
而不是用群晖内置的反向代理的原因,老苏在一开始就讲了,装完之后老苏还发现了几个优点:
- 不用再依赖群晖,这使得老苏将来可以很方便的切换到其他平台
- 即便是
DSM6.1.7
也不再有 『 HomeAssistant设置https访问后的问题 』一文中的情况,只要简单勾选Websockets support
即可,而不需要各种修改 - 速度快,也许只是心理感觉
题外
最终 Authelia
并没安装成功,原因是不能在非标的端口上使用。
由于没有备案的缘故,https
协议不能使用 443
端口
假设你用了非标的 444
, Authelia
会自动截掉端口(因为 443
是可以不用写的),从而导致资源加载失败
反向代理服务器nginx-proxy-manager相关推荐
- 【玩转Docker】【02】反向代理神器 — Nginx Proxy Manager
一.安装 Nginx Proxy Manager 1.创建安装目录 screen # 启动screen会话,防止安装中途 SSH 连接断开,导致安装失败.sudo -i mkdir -p /root/ ...
- 反向代理神器 Nginx Proxy Manager 中文版(汉化版)
简介 Nginx Proxy Manager 中文版是基于 NginxProxyManager/nginx-proxy-manager 翻译的中文版本,该项目属于一个预构建的docker映像,它可以让 ...
- 高性能反向代理服务器Nginx
文章目录 1.Nginx简介 1.1 Nginx能做什么 1.2 正向/反向代理 2.Nginx的安装 2.1 Linux中安装Nginx 2.2 Windows中安装Nginx 3.反向代理配置 4 ...
- Java 攻城狮面试题 03_ Nginx 反向代理服务器
Nginx 概念 什么是正向代理和反向代理? 1.正向代理,为用户代理.意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并 ...
- 反向代理服务器工作原理及示例
一.什么是反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请 ...
- 转:反向代理服务器的工作原理
一.什么是反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请 ...
- 反向代理服务器(转)
反向代理及Nginx示例 1 反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果 ...
- 使用域名访问后台系统、Nginx反向代理服务器
1.1 现象 假设我们访问后台的请求地址为:http://localhost:9101/admin/index.html 1.2 问题 现在访问的路径:http://127.0.0.1:9101/ad ...
- 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
一.反向代理:Web服务器的"经纪人" 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网 ...
最新文章
- 查看LoadRunner脚本请求日志和服务器返回值方法
- OpenGL Fur Rendering毛发渲染的实例
- IOS UI开发基础之超级猜图完整版本-08
- 利用Matlab拟合时序植被生长季曲线,并求解物候参数
- linux 查找某目录下包含关键字内容的文件(文件内容、grep)
- ASP.Net导出EXCEL表(小结)
- About_PHP_验证码的生成
- 王国权辞任中国电信股份有限公司执行副总裁
- CodeForces 27A Next Test(简单hash)
- 安装了一下WinZip,感觉很难用
- 清风数学建模学习笔记——层次分析法(AHP)
- IDEA 代码分析工具
- 2022年起重机械指挥特种作业证考试题库及答案
- Oracle查询数据表数据很少却很慢(查询空表很很耗时)
- PostgreSQL索引(一)
- 危险进程集粹(附说明)
- 华为BOX300连线及配置
- Linux之下载速度慢解决办法
- java计算机毕业设计消防安全应急培训管理平台源码+系统+数据库+lw文档+mybatis+运行部署
- 半小时学习最小二乘法
热门文章
- 计算机网络笔记----概述
- 会员体系是以权益为表现的用户场景连接
- ARP中间人攻击详细过程及原理
- 全球5G专利排行榜:高通掉落第五,中国企业夺冠!
- zblog网站副标题去掉短线 - 桃源侠
- testbench产生不同频同相位的时钟信号
- 如果你用String.spit(“|”)
- php抢票插件下载,实测两款 GitHub 开源抢票插件,所有坑我们都帮你踩过了
- UR--MoveIt Setup Assistant and Simulation
- STM32F0xx_TIM输出PWM配置详细过程