NipGeihou's blog NipGeihou's blog
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档

NipGeihou

我见青山多妩媚,料青山见我应如是
  • Java

    • 开发规范
    • 进阶笔记
    • 微服务
    • 快速开始
    • 设计模式
  • 其他

    • Golang
    • Python
    • Drat
  • Redis
  • MongoDB
  • 数据结构与算法
  • 计算机网络
  • 应用

    • Grafana
    • Prometheus
  • 容器与编排

    • KubeSphere
    • Kubernetes
    • Docker Compose
    • Docker
  • 组网

    • TailScale
    • WireGuard
  • 密码生成器
  • 英文单词生成器
🍳烹饪
🧑‍💻关于
  • 分类
  • 标签
  • 归档
  • Linux

  • Docker

  • 云原生

  • Kubernetes

  • KubeSphere

  • K3S

  • 笔记

    • 基于KtConnect实现本地与kubernetes集群互通
    • 基于Wireguard实现本地与kubernetes集群互通
    • Kubesphere问题总结
    • SpringBoot应用存活探针
    • DevOps - IDEA与Docker实现CI
    • 下一代CI工具 - Tekton
    • 基于Clash.Meta实现的流量分离
    • Windows命令-route路由表
    • 基于acme.sh的证书分发
    • 基于Nginx的内网域名管理
      • 背景
      • 安装Docker
      • 编写Docker Compose
      • 访问
      • 反代同宿主机服务
      • 遇到的坑
      • 参考
    • 基于Cloudflare-Zero-Trust的内网穿透
    • 基于rclone的跨云对象存储迁移
    • 基于DNS区域解析分流国内外CDN
    • 年轻人的第一台服务器(D1581)
    • IPMI笔记
    • ipmitool笔记
    • iSCSI服务搭建
    • 基于WireGuard实现的云组网
    • 基于Tailscale实现的云组网
  • PVE

  • 维修

  • DevOps

  • 云服务

  • 路由器

  • Hyper-V

  • Windows

  • macOS

  • 运维
  • 笔记
NipGeihou
2023-10-15
目录

基于Nginx的内网域名管理

# 背景

在内网中有很多资源平常需要使用 ip:端口 访问,而有一些则使用自签证书的 https 访问,每隔一段时间就不记得 ip 和端口号,因此打算使用 Nginx 反向代理访问这些资源,之前是使用宝塔中的 nginx 来管理,但宝塔的免费证书签发只能签发二级的泛域名证书如 *.example.com ,但我需要 *.lan.example.com ,不够优雅,因此打算基于原版的 Nginx + acme.sh 来实现。

本来打算使用 Nginx + acme.sh 来实现,在实现过程中发现了一个开源项目 Nginx Proxy Manager ,他完全满足了我的需求,而且是可视化的,非常 nice。

因此本文变成了如何使用 Nginx Proxy Manager

# 安装 Docker

参考:「Linux」一键安装 Docker | NipGeihou's blog

# 编写 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://0.0.0.0:81 访问,首次登录的账号:

Email:    [email protected]
Password: changeme

其他就按页面提示操作即可。

# 反代同宿主机服务

直接使用 127.0.0.1:xxx 是无法反代的,可以在 服务 的 docker compose 添加:

networks:
  default:
    external: true
    name: nginx-proxy-manager_default

具体 npm 默认的网络是不是 nginx-proxy-manager_default ,可通过 docker network ls 查看

# 遇到的坑

我的 DNS 使用 cloudflare,申请证书是使用 Global API Key 不行,需要使用 另外创建的受限API 令牌 。

# 参考

  • Nginx Proxy Manager (opens new window)
上次更新: 2024/09/24, 16:49:56
基于acme.sh的证书分发
基于Cloudflare-Zero-Trust的内网穿透

← 基于acme.sh的证书分发 基于Cloudflare-Zero-Trust的内网穿透→

最近更新
01
iSCSI服务搭建
05-10
02
磁盘管理与文件系统
05-02
03
网络测试 - iperf3
05-02
更多文章>
Theme by Vdoing | Copyright © 2018-2025 NipGeihou | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式