超强大的 Nginx 可视化管理平台 Nginx-Proxy-Manager 中文入门指南
2023-5-19 08:2:45 Author: Docker中文社区(查看原文) 阅读量:270 收藏

今天给大家介绍一款 Nginx 可视化管理界面,非常好用,小白也能立马上手。

nginx-proxy-manager 是一个反向代理管理系统,它基于 NGINX,具有漂亮干净的 Web UI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。它是开源的,斩获 11.8K 的 Star 数。

特征

  • 基于 Tabler(https://tabler.github.io/) 的美观安全的管理界面
  • 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机
  • 使用 Let's Encrypt 的免费 SSL 或提供您自己的自定义 SSL 证书
  • 主机的访问列表和基本 HTTP 身份验证
  • 高级 Nginx 配置可供超级用户使用
  • 用户管理、权限和审核日志

安装

1、安装 Docker 和 Docker-Compose

2、创建一个docker-compose.yml文件

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

3、运行

docker-compose up -d

#如果使用的是 docker-compose-plugin
docker compose up -d

4、访问网页

运行成功后,访问 http://127.0.0.1:81 就能看到界面啦

5、登录

网站默认账号和密码为

账号:[email protected]
密码:changeme

登录成功后第一次要求修改密码,按照步骤修改即可!

6、登录成功主界面

实战:设置后台管理界面的反向代理

这里,我们就用 http://a.test.com 来绑定我们的端口号为81的后台管理界面,实现浏览器输入 http://a.test.com 即可访问后台管理界面,并且设置HTTPS。

1、前提

  • 安装好Nginx Proxy Manager
  • 拥有一个域名
  • 将 http://a.test.com 解析到安装Nginx Proxy Manager的服务器ip地址上

2、反向代理操作

先用ip:81 访问后台管理界面,然后输入账号密码进入后台。

点击绿色图标的选项

点击右边Add Proxy Host ,在弹出的界面Details选项中填写相应的字段。

  • Domain Names: 填写要反向代理的域名,这里就是http://a.test.com
  • Forward Hostname / IP: 填写的ip值见下文解释
  • Forward Port: 反向代理的端口,这里就是81
  • Block Common Exploits: 开启后阻止一些常见漏洞
  • 其余两个暂不知作用

Forward Hostname / IP填写说明

如果搭建的服务和nginx proxy manager服务所在不是一个服务器,则填写能访问对应服务的IP。如果都在同一台服务器上,则填写在服务器中输入ip addr show docker0 命令获取得到的ip。

这里不填127.0.0.1的原因是使用的是docker容器搭建web应用,docker容器和宿主机即服务器不在同一个网络下,所以127.0.0.1并不能访问到宿主机,而ip addr show docker0获得的ip地址就是宿主机地址。

接下来即可用a.test.com 访问后台管理界面,此时还只是http协议,没有https。不过此时就可以把之前的81端口关闭了,输入a.test.com 访问的是服务器80端口,然后在转发给内部的81端口。

3、申请ssl证书

申请一个a.test.com 证书,这样就可以提供https访问了。

在Nginx Proxy Manager管理后台,选择Access Lists->Add SSL Certificate->Let's Encrypt选项。

按照下图方式填写,点击Save就可以了

4、设置HTTPS

进入反向代理设置界面,编辑上文创建的反代服务,选择SSL选项,下拉菜单中选择我们申请的证书,然后可以勾选Force SSL即强制HTTPS。

链接:https://mp.weixin.qq.com/s/n981QudKz_pO-7RuoVJ3wA

(版权归原作者所有,侵删)

推荐阅读 点击标题可跳转

《Docker是什么?》

《Kubernetes是什么?》

《Kubernetes和Docker到底有啥关系?》

《教你如何快捷的查询选择网络仓库镜像tag》

《Docker镜像进阶:了解其背后的技术原理》

《教你如何修改运行中的容器端口映射》

《k8s学习笔记:介绍&上手》

《k8s学习笔记:缩扩容&更新》

《Docker 基础用法和命令帮助》

《在K8S上搭建Redis集群》

《灰度部署、滚动部署、蓝绿部署》

《PM2实践指南》

《Docker垃圾清理》

《Kubernetes(k8s)底层网络原理刨析》

《容器环境下Node.js的内存管理》

《MySQL 快速创建千万级测试数据》

《Linux 与 Unix 到底有什么不同?》

《浅谈几种常见 RAID 的异同》

《Git 笔记-程序员都要掌握的 Git》

《老司机必须懂的MySQL规范》

《Docker中Image、Container与Volume的迁移》

《漫画|如何用Kubernetes搞定CICD》

《写给前端的Docker实战教程》

《Linux 操作系统知识地图2.0,我看行》

《16个概念带你入门 Kubernetes》

《程序员因接外包坐牢456天,长文叙述心酸真实经历》

《IT 行业老鸟,有话对你说》

《HTTPS 为什么是安全的?说一下他的底层实现原理?


免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!



文章来源: http://mp.weixin.qq.com/s?__biz=MzI1NzI5NDM4Mw==&mid=2247495113&idx=1&sn=b6b4d0ece98f6115fa73791d027f7e48&chksm=ea1b0489dd6c8d9f71584d51dd0dd5f24b627aa21450a06247d36818df4c26827b8baf9eb0d5#rd
如有侵权请联系:admin#unsafe.sh