Featured image of post 好物推荐 - NginxProxyManager

好物推荐 - NginxProxyManager

一款集反向代理与证书申请于一身的绝世好物

背景

前面几期中,我们都有提到Nginx反向代理。每次都是手动修改Nginx配置文件,这个需要Nginx方面的专业知道,还需要使用ssh手动进入服务器操作完成,费时费力。

今天我们就推荐一款专门设置Nginx反向代理的web 工具,同时还可以帮助大家自动完成Let's Encrypt的证书申请与更新工作,简直是不可多得的好物。

准备工作

由于我们要使用NginxProxyManager来接替Nginx进行反向代理工作,所以我们需要先停用Nginx

1
sudo systemctl disable nginx.service --now 

或者,如果你的Nginx提供了除反向代理之外的网页服务,则只需要将其端口更改为非80/443端口,因为接下来NginxProxyManager需要接管这两个端口。

安装

我们参考官网使用Docker来安装NginxProxyManager:

1
2
3
4
5
6
7
8
9
docker volume create NginxProxyManager
docker run -d                           \
    --name NginxProxyManager            \
    --restart always                    \
    -p 81:81                            \
    -p 80:80                            \
    -p 443:443                          \
    -v NginxProxyManager:/data          \
    jc21/nginx-proxy-manager:latest

安装好后,就可以通过http://<ip>:81登陆NginxProxyManager。默认用户名密码分别为admin@example.com:changeme,登陆之后记得修改。

IMG_20231213_115413

如果你喜欢,也可以使用中文版的镜像chishin/nginx-proxy-manager-zh:release,安装和操作过程是一样的。

证书申请

NginxProxyManager支持Let's Encrypt申请与更新,只需要简单的点击几下鼠标即可完成。由于太简单了,我这文章都没什么可写的,大家看图吧。

IMG_20231213_115644

当然,NginxProxyManager也支持使用DNS Challenge申请证书,这里就不详述了,大家自己尝试吧。

反向代理

子域名代理

在使用NginxProxyManager之前,我们服务上可能已经运行着网页服务,就如准备工作中所说一样。所以,这第一步就是将原有的服务都代理起来。以我们的博客www.xy1413.com为例,通过NginxProxyManager反向代理到127.0.0.1:8080,SSL 选择上一步申请的证书。

IMG_20231213_120042

如果你的网站需要Websockets,勾选页面中的Websockets Support即可。这是不是比修改Nginx配置文件简单方便?

一切都设置完成后,直接点页面中SOURCE一栏的网址即可打开页面完成测试。

IMG_20231213_120534

子目录代理

NginxProxyManager配置子目录反向代理一样很简单。编辑刚刚创建的代理,选择Custom locations,简单填写相关内容即可完成。

IMG_20231213_120759

结束语

除极个别的情况,用NginxProxyManager配置反向代理根本不需要专业知识(安装过程还是要一点点的!)。

NginxProxyManagerDocker搭配,简直就是绝配!


最后更新于 2023-12-13
小酌怡情
Built with Hugo
主题 StackJimmy 设计
访问量 -    访客数 - 人次