反向代理神器——Nginx Proxy Manager

反向代理神器——Nginx Proxy Manager

记忆の风
2022-06-08 / 0 评论 / 17 阅读 / 正在检测是否收录...

Nginx Proxy Manager
Nginx proxy manager是一个很简单的反向代理工具。

官网:https://nginxproxymanager.com/

门槛极低,操作简单,不需要你掌握很复杂的Nginx配置知识,只需要几步就能很轻松完成反向代理的设置和SSL证书的部署。
Nginx Proxy Manager是一个非常优秀的Docker项目。所以,首先我们需要安装Docker、Docker-compose。
步骤如下:

1.Docker安装

wget -qO- get.docker.com | bash

注:卸载Docker

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

注意:出现 sudo: unable to resolve host [hostname] ,可以编辑 nano /etc/hosts 然后在localhost后面空一格,再打上[hostname]你对应的hostname内容。

查看Docker版本

docker -v

开机自动启动

systemctl enable docker

2.Docker-compose安装
X86:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

1654670812602.png

3.文件管理
强烈建议大家专门给Docker的数据、配置文件新建一个文件夹

mkdir -p data/docker_data

这样如果换服务器或者想要备份,都会很方便。

现在我们在docker_data里面创建一个Nginx Proxy Manager的文件夹,就取名为NPM吧。

cd data/docker_data
mkdir NPM
cd NPM
nano docker-compose.yml

把配置写入进去,保存。

X86:

最简配置参考:
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

ARM

version: "2"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: always
    ports:
      # Public HTTP Port:
      - '80:80'
      # Public HTTPS Port:
      - '443:443'
      # Admin Web Port:
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

在文件夹下继续运行如下命令,即可部署。

docker-compose up -d

部署完毕后,你就可以通过 docker container ls 查看容器的运行情况。

默认登陆名和密码:

Email: [email protected]
Password: changeme

登陆成功后,系统会要求你修改新的密码。完成后,就可以开始配置了。

点击 New Proxy Host 创建一个代理规则,在 Domin Names 中填写一个或多个你想要用来访问该容器的域名。

如果你没有特殊配置 https ,这里使用默认的 http 第二栏的 Forward Hostname / IP 处,填写容器所在 Docker 网桥的虚拟 IP,这个 IP 可以通过下面的命令查到。
查看Docker容器内部IP:

ip addr show docker0

如果是反代https,可以直接输入服务器IP。
查看当前服务器IP:

curl ifconfig.me

如果你不需要为网站配置 SSL 的话到这里,点击 Save 就可以了。否则,请点击 SSL 选项卡,证书一栏选择申请一个新的 SSL 证书,填写邮件地址,同意协议即可。如果需要强制 https 访问,请打开 Force SSL 选项。最后点 Save 就可以了。

如果你有科学反代需求,可以在Details页面中,打开 Websockets Support ,然后Custom locations里面填写 Define location ,Scheme选择 http ,Forward Hostname/IP填写 服务器IP ,Forward Port则是 反代端口

0

评论 (0)

取消