8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

一个 Nginx Proxy 可视化管理界面,简单易操作 其他教程

小鹿黑科技 11天前 8

提到Nginx很多运维人员又是喜欢又是愁。喜欢是因为功能强大,性能强,愁的是配置管理确实复杂了点。很多新手第一次接触Nginx都会被其各种复杂的配置项搞得头疼,什么 location、什么 upstream,傻傻分不清楚。比如一个简单的单层反向代理 /api 配置:

提到Nginx很多运维人员又是喜欢又是愁。喜欢是因为功能强大,性能强,愁的是配置管理确实复杂了点。很多新手第一次接触Nginx都会被其各种复杂的配置项搞得头疼,什么 location、什么 upstream,傻傻分不清楚。比如一个简单的单层反向代理 /api 配置:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
http {    server {        listen 80;
location /api { proxy_pass http://backend_server:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location / { # 这里可以配置静态文件服务或其他路径的处理 } }}

上述代码只是单层反向代理,如果涉及多台反向代理,配置更为复杂,如下:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
# 第一层反向代理配置server {    listen 80;    server_name proxy1.example.com;
location / { proxy_pass http://proxy2.example.com; # 转发到第二层代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 其他可能需要的proxy_set_header配置 }}
# 第二层反向代理配置server { listen 80; server_name proxy2.example.com;
location / { proxy_pass http://final-destination.example.com; # 最终服务器 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 其他可能需要的proxy_set_header配置 }}
# 最终服务器配置server { listen 80; server_name final-destination.example.com;
location / { # 最终处理请求的配置 }}
在上面的多层反向代理配置中,请求到第一层代理proxy1.example.com,然后由proxy1转发请求到第二层代理proxy2.example.com,最后由proxy2转发请求到最终服务器final-destination.example.com。每层代理都必须正确地设置X-Real-IP和X-Forwarded-For,如果出现任何的配置错误,那么就会导致Nginx运行失败。
那么有没有什么办法快速学习会Nginx,同时降低Nginx配置的复杂度呢,答案是有的。第一种:脑袋聪明图片,一学就会的Nginx大神图片那么什么复杂问题都不是问题了。很显然,小编不是这种脑袋聪明的,但是小编会“偷懒”。所以,选择了第二种,Nginx可视化管理界面:nginx-proxy-manager

一句话介绍nginx-proxy-manager:为用户提供简单而强大的Nginx Proxy可视化管理界面,降低学习和配置门槛。

 

 

功能特性

  • 基于 Tabler 的美观、安全的可视化管理界面

  • 无需了解 Nginx 即可轻松创建管理代理、重定向、streams 和 404 

  • 基于 Let's Encrypt 支持免费 SSL  证书和支持用户自定义 SSL 证书

  • 主机的访问列表管理和基本 HTTP 身份验证

  • 为管理员提供更高级 Nginx 配置

  • 用户管理、权限和审计操作日志

     

02

 nginx-proxy-manager 安装 

#具备docker和docker-compose环境

  • 创建docker-compose.yml文件

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
version: '3.8'services:  app:    image: 'jc21/nginx-proxy-manager:latest'    restart: unless-stopped    ports:      - '80:80'      - '81:81'      - '443:443'    volumes:      - ./data:/data      - ./letsencrypt:/etc/letsencrypt
  • 启动服务

  •  
docker-compose up -d

部署完成后,通过浏览器访问:http://hostip:81 打开nginx-proxy-manager界面,账号密码:

  •  
  •  
Email:    admin@example.comPassword: changeme

  • 域名:域名就是反向代理使用的域名

  • 协议:依据后续服务协议,选择http或者https

  • 转发主机/IP:后端服务地址

  • 转发端口:后端服务端口。

  • 缓存资源、阻断常见漏洞、支持 WebSockets 三个依据服务需求自行选择

  • 自定义location

  •  
  •  
最新回复 (0)
    • 小白资源网
      2
        立即登录 立即注册 
返回
发新帖