docker运行nginx 并反代内网的一些服务,

本文停止更新,建议使用 nginxwebui :https://dev.leiyanhui.com/openwrt/nginx-proxy-ssl

支持中文,也支持静态站,甚至可以转发php之类的。

nginx-proxy-manage 是一个有web管理解决的 纯nginx管理工具,基于node开发的。类似宝塔。。自带了ssl证书管理(基于Let’s Encrypt的)

适合 在轻量的主机上运行,例如 软路由。。。

比宝塔来说优势有

  • 支持更多dns验证api,几乎支持所有的常见国内外域名和dns商,并且支持 acmedns_api
  • 更加轻量简单 缺点嘛,,就是没有别的功能了。只有nginx 和 ssl 。所以很适合 路由上使用

要求多的话,还是建议使用宝塔,现在宝塔官网已经发布docker

基本命令

参考:https://hub.docker.com/r/jlesage/nginx-proxy-manager 改动一下

1
2
3
4
5
6
docker run -d \
    --name=nginx-proxy-manager \
    -p 50181:8181 \
    -p 50080:8080 \
    -p 50443:4443 \
    jlesage/nginx-proxy-manager

web访问端口 是 50080:8080 ssl 50443:4443 管理端口 50181:8181 默认用户名密码 admin@example.com changeme

后续我发现真正的官网镜像实际不是这个!

而是 jc21/nginx-proxy-manager:latest 文档地址:https://nginxproxymanager.com/setup/#using-mysql-mariadb-database 并且官网文档是明确支持ipv6的 只是默认禁用

基本使用

修改用户密码

登录后就会自动提示修改,按照提示修改一下

试着申请个域名ssl

很简单 不用多说,看不懂 自己开翻译软件(吐槽:软路由圈子 英语不好 还不肯开翻译软件的人。。多好。。)

这个工具存在的问题

  • 只支持LE的证书,我本想和acme.sh的配合 使用,发现。。。这货好像把证书放在了数据库里面,,服了。。。然后自定义证书 也只能是上传。。。
    • 后续发现存放到了/etc/letsencrypt ,但是格式和acme.sh 不能完全兼容。。
  • dns api的配置记录不能自动保存,添加多个证书的时候 需要每次都输入一次 api接口的key信息
  • 下载回来的证书,只有nginx格式
  • 面板本身好像不可以直接启用ssl,应该需要sh进去改配置文件,或者自己代理自己一次
  • 没有中文界面
  • 镜像体积不小, 182.90MB 左右
  • 在主机列表页面直接打开对应的域名,是使用默认端口打开。不会帮你跳到50080:8080 ssl 50443:4443,我node 水平一般也没有找打 队以ing的文件
  • 同时 在反代 pve 或 openwrt等应用的适合,会导致 vnc或者终端控制台打不开。(这个好像是 noVNC 以及xterm.js的问题)
    • pve可以用 /etc/pve/local/qemu-server/.conf 添加vnc配置的方法用客户端链接
    • oc的控制docker台 可以用shell登录后 docker exec -it 容器名 /bin/bash
    • 或者docker 另外跑一个浏览器 来访问内网的这个web,然后nginx-proxy-manager再套上ssl 就可以了
  • 其他暂未发现

结论

很适合要求不高的情况下使用,也适合小白。 其实 还是建议直接docker跑一个宝塔算了,自己用debian、centos基础做也行,现在宝塔官方也支持docker了

https://dev.leiyanhui.com/docker/baota

另外一个替代项目

https://www.nginxwebui.cn/

简单看了一下 国产的,支持中文,支持负载均衡,但是证书虽然是用 acme.sh ,但是同样也是 只支持 LE的自动续期和申请。。

使用说明 :https://dev.leiyanhui.com/openwrt/nginx-proxy-ssl

官网:https://github.com/cym1102/nginxWebUI#docker%E5%AE%89%E8%A3%85%E8%AF%B4%E6%98%8E

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计