前言(小白建议看下)

  NGINX Proxy Manager是一个基于Web界面的代理服务器管理工具,用于简化和集中管理NGINX反向代理服务器。
  简单点说,就是比如你的服务器有好多个网站需要管理,但是服务器只有一个80和443端口,你就没办法让每一个网站都是用80
443 也就是无法使用http https 直接加域名使用,反向代理的作用就是将所有的网站给他加个代理转发,让新的域名代替旧的 域名+端口的域名;举个例子:你服务器IP绑定的域名是 laohu.space ,你搭建了两个网站使用了两个端口 8000,8001. 那么你就可以通过使用 http://laohu.space:8000http://laohu.space:8001 去访问这两个网站,但是 用端口去访问网站 别人是不知道你在哪个端口的,在浏览器上也不会搜索到你的网站,只有在80 443的网站才能被别人搜索到。
  反向代理的作用就是可以将 http://laohu.space:8000 的原本域名,用一个新的域名 http://uu.laohu.space 的域名去代替,他改变的的域名前缀,要比修改端口也要方便的多;而且你也可以将其他服务器上的网站,指向nginx服务器,进行统一管理,我就是这么做得,因为像家庭服务器被封锁了80和443端口,就必须找个有80端口的云服务器搭建nginx服务器进行管理网站。
  反向代理的意思是跟正向代理区别来的,看下面的图就能理解,左边指的是访问网站的浏览器,中间是nginx代理服务器,然后转发到实际网站所在的服务器上。

v2-7ebb8e940ed6cd99a4ae48829817ffe5_1200x500.jpg

搭建Nginx Proxy Manger服务器

我这里是通过在ubuntu系统上,用docker部署的

创建npm文件夹,创建 docker-compose.yml 复制下面的代码

version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 冒号左边可以改成自己服务器未被占用的端口
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 冒号左边可以改成自己服务器未被占用的端口
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据>存放在在当前文件夹下的 letsencrypt 文件夹中

注意 80 443端口不可修改,修改成其他的,你用修改后的端口也无法正常使用

其他数据路径按需修改

然后 docker-compose up -d 开始安装部署容器

通过访问 81端口进入后台
默认登陆名和密码:Email: admin@example.com
Password: changeme

配置网站证书

  使用nginx proxy manger 管理网站,将网址的端口与nginx服务器连接后是使用http访问,会提示不安全,此时需要给网址添加证书,才能使用https访问网站,从而解决提示安全的问题。
我的域名是在阿里云注册的,所以在阿里云添加ssl证书比较方便,没必要像大多数的教程 教你怎么讲域名导入 cloudflare 再进行申请证书,其实阿里云本身就非常方便,阿里云添加证书这块是我自己琢磨的,网上基本找不到这样做得教程。

步骤1:
  添加之前需要先将域名指向该服务器的IP地址 最好是将域名通配符域名全部解析到该服务器,免得每添加一个网站,都得再去添加一个解析 。以阿里云域名解析为例:

微信图片_20230712150933.jpg

  域名解析时 @ 表示 顶级域名, * 表示域名下的所有二级域名 这两个就将该域名的所有解析指向服务器了,当然,你也可以看到图中,我还对其他网站进行了解析,只要跟nginx那边不冲突,其他的二级域名 你依然可以正常使用。

步骤2:
1、先点击后台的’SSL Certificates’进入证书管理界面,点击’Add SSL Certificate’
微信图片_20230712160229.jpg

微信图片_20230712160936.jpg

上图提到的两个 “填阿里云的信息”需要在阿里云中配置后,才能找到,需要在阿里云创建用户,授权DNS 获取阿里云DNS的API密钥,不是账号的密钥。
步骤:

1、 在aliyun搜索 “RAM 访问控制”进入控制台
微信图片_20230712163245.jpg

2、创建用户
微信图片_20230712163251.jpg

3、找到刚才创建的用户,点击用户那行后面的 “添加权限” 给用户授权 “DNS权限”

微信图片_20230712163259.jpg

4、双击创建的用户,进入编辑页面,点击创建 key 后,即可获取IP 和key
微信图片_20230712163304.jpg

5、将得到的两个信息填入之前的信息栏中,确定即可完成证书添加。

反向代理网站

步骤:

在nginx后台 点击 ‘roxy Hosts’进入页面 然后点击 ‘Add proxy host’添加网站

微信图片_20230712165556.jpg
微信图片_20230712165600.jpg

大功告成!