Nginx Proxy Manager 反向代理服务器

背景:

在一个主机下创建了多个docker,域名只能访问80端口,要想访问其他的docker只能在域名后面加端口号,通过Nginx Proxy Manager反向代理的方法,一个域名一个公网IP一个端口对应一个二级域名即可巧妙去掉端口

准备工作:

1.一个域名(可以在 freenom 申请一个免费的域名)
2.一个 cloudflare 账号
3.一台具有公网ip的主机

将域名解析到自己的公网IP

步骤概要:

  1. 注册一个Cloudflare账号;
  2. 添加你的网站到Cloudflare中,获取Cloudflare的域名解析服务器(NS);
  3. 前往你的域名注册网站,修改域名解析服务器(NS)为Cloudflare的,Cloudflare会自动获取已有的解析记录,但有时候也会获取不全,你需要人工检查一下。
  4. 按需在Cloudflare中添加网站解析记录,常用的解析记录是A记录,用于将域名指向网站的服务器IP

Docker安装nginx proxy manager

项目地址:https://github.com/NginxProxyManager/nginx-proxy-manager?utm_source=nginx-proxy-manager

1.安装docker-compose

#国外鸡
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#国内鸡
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose

#测试安装结果
docker-compose --version

 

2.根据GitHub文档安装

  1. 在主机新建一个文件夹
  2. 在文件夹内新建 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
          - ./letsencrypt:/etc/letsencrypt
  3. cd到文件所在位置,执行
    docker-compose up -d

3.进入nginx proxy manager后台

后台地址:ip:81

#初始账号密码
Email:    admin@example.com
Password: changeme
阅读剩余
THE END