背景
前面几期中,我们都有提到Nginx反向代理。每次都是手动修改Nginx配置文件,这个需要Nginx方面的专业知道,还需要使用ssh手动进入服务器操作完成,费时费力。
今天我们就推荐一款专门设置Nginx
反向代理的web 工具,同时还可以帮助大家自动完成Let's Encrypt
的证书申请与更新工作,简直是不可多得的好物。
准备工作
由于我们要使用NginxProxyManager
来接替Nginx
进行反向代理工作,所以我们需要先停用Nginx
:
|
|
或者,如果你的Nginx提供了除反向代理之外的网页服务,则只需要将其端口更改为非80/443端口,因为接下来NginxProxyManager
需要接管这两个端口。
安装
我们参考官网使用Docker
来安装NginxProxyManager
:
|
|
安装好后,就可以通过http://<ip>:81
登陆NginxProxyManager
。默认用户名密码分别为admin@example.com:changeme
,登陆之后记得修改。
如果你喜欢,也可以使用中文版的镜像chishin/nginx-proxy-manager-zh:release,安装和操作过程是一样的。
证书申请
NginxProxyManager
支持Let's Encrypt
申请与更新,只需要简单的点击几下鼠标即可完成。由于太简单了,我这文章都没什么可写的,大家看图吧。
当然,NginxProxyManager
也支持使用DNS Challenge
申请证书,这里就不详述了,大家自己尝试吧。
反向代理
子域名代理
在使用NginxProxyManager
之前,我们服务上可能已经运行着网页服务,就如准备工作中所说一样。所以,这第一步就是将原有的服务都代理起来。以我们的博客www.xy1413.com
为例,通过NginxProxyManager
反向代理到127.0.0.1:8080
,SSL 选择上一步申请的证书。
如果你的网站需要Websockets
,勾选页面中的Websockets Support
即可。这是不是比修改Nginx
配置文件简单方便?
一切都设置完成后,直接点页面中SOURCE
一栏的网址即可打开页面完成测试。
子目录代理
NginxProxyManager
配置子目录反向代理一样很简单。编辑刚刚创建的代理,选择Custom locations
,简单填写相关内容即可完成。
结束语
除极个别的情况,用NginxProxyManager
配置反向代理根本不需要专业知识(安装过程还是要一点点的!)。
NginxProxyManager
与Docker
搭配,简直就是绝配!