当你需要在同一台服务器上运行多个应用程序时,将它们全部公开到公共互联网上可能会带来安全风险。为了解决这个问题,可以使用代理服务器来转发请求并保护每个应用程序的隐私和安全。在本文中,我将向你展示如何使用 Docker 来搭建 Nginx Proxy Manager 代理服务器。
- 方法一
-
安装 Docker
在开始之前,你需要在你的服务器上安装 Docker。你可以从参考这篇文章的方法 点击访问 Docker安装 -
获取 Nginx Proxy Manager 镜像
在你的服务器上安装 Docker 后,你需要获取 Nginx Proxy Manager 的 Docker 镜像。你可以在 Docker Hub 上搜索 "nginx-proxy-manager" 来获取最新版本的 Docker 镜像。在终端中运行以下命令来获取该镜像:docker pull jlesage/nginx-proxy-manager
-
创建 Docker 网络
在运行 Nginx Proxy Manager 容器之前,你需要创建一个 Docker 网络。这将允许容器之间相互通信。在终端中运行以下命令来创建一个名为 nginx-proxy 网络的 Docker 网络:docker network create nginx-proxy
-
运行 Nginx Proxy Manager 容器
现在,你已经准备好运行 Nginx Proxy Manager 容器了。在终端中运行以下命令来启动容器:docker run -d \ --name nginx-proxy-manager \ --net nginx-proxy \ -p 80:80 \ -p 81:81 \ -p 443:443 \ -v /path/to/data:/data \ -v /path/to/letsencrypt:/etc/letsencrypt \ jlesage/nginx-proxy-manager
在上述命令中,你需要将 "/path/to/data" 和 "/path/to/letsencrypt" 替换为你自己的数据和证书存储路径。此外,该命令将 Nginx Proxy Manager 容器绑定到 nginx-proxy 网络,并将其暴露到服务器上的端口80、81和443。这些端口用于 HTTP、HTTPS 和管理界面访问。
-
配置 Nginx Proxy Manager
现在,你已经启动了 Nginx Proxy Manager 容器,你可以在你的服务器上使用 IP 地址或域名访问管理界面。默认情况下,管理界面的访问地址为http://ip:81 -
默认账号密码
用户名:admin@example.com
密码:changeme
在登录后,你需要配置代理服务器以转发请求到你的应用程序。你可以通过在 Nginx Proxy Manager 界面上创建代理主机、证书、路由规则等来完成配置。
- 方法二
熟悉docker-compose的小伙伴推荐使用下面这种方法更方便快捷
-
创建安装目录
sudo -i mkdir -p /root/data/docker_data/npm cd /root/data/docker_data/npm
-
vim一个docker-compose.yml 文件
vim docker-compose.yml
-
在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 文件夹中
-
运行并访问 Nginx Proxy Manager
在当前目录下执行下面代码docker-compose up -d
然后浏览器输入http://ip:81 就能访问了
-
默认的登陆账号密码
Email: admin@example.com Password: changeme
评论 ( 1)