阿里云+Nginx Proxy Manager 设置二级域名

这里我们以购买阿里云的域名为例

有域名的作用:当我们在浏览器上面访问主机的某一个端口时,必须输入主机ip+端口号,这就会非常的麻烦,而且也会暴露出我们的主机名,很不安全,因此域名的好处就是可以将我们的主机ip和端口号给隐藏起来。

www.baidu.com其代表百度的服务器ip:8080

1.购买阿里云域名

建议购买.com或者.cn后缀的域名

由于这一步比较简单,可以跳过,登录阿里云,购买自己喜欢的服务器即可。

2.主机ip绑定域名

是将主机的ip绑定到指定的域名上面

步骤

第一步:选择域名

第二步:点击域名列表,然后在点击我们指定域名的解析

第三步:点击添加记录

此时我们绑定的只是一个宿主机的ip,没有绑定特定的端口,所以去浏览器上面直接搜索该域名是搜索不出来的。

3.检测域名是否绑定成功

第一步:打开一个linux客户端或者windows命令行

4.使用域名访问特定的端口

如我们想使用这个域名访问我们自己的博客,我们博客开放的端口是8080,那如何在浏览器上面访问呢?

格式:
域名:8080
-
例如:
www.laojiuxueit.cn:8080

这时我们也会有一个问题,就是我们的8080端口并没有被域名隐藏起来,那该如何办呢?

解决方法:

第一步:

在我们域名的基础上创建一个二级域名

第二步:

使用nginx反向代理,将该二级域名绑定到我们8080端口,实际上就是绑定到ip:端口这一个整体。

5.创建一个二级域名

第一步:点击域名

第二步:选择域名列表

第二步

第三步:添加记录

第四步:设置二级域名参数

域名:test.laojiuxueit.cn

到这里二级域名已经创建完成

第五步:测试二级域名是否能使用

测试一下二级域名能不能使用

6.nginx反向代理

我们需要安装Nginx Proxy Manager

在安装Nginx Proxy Manager之前我们需要先安装docker和docker-compse。

docker的安装和docker-compse安装,大家去网上自行安利即可。

1.理解代理

代理就是第三方。

什么是正向代理

你要买国外小G家的鞋子,你没有paypal和信用卡,买不了,于是你找到了叫小V的代购帮你到海外买,小V找到海外的卖家小G,帮你买了鞋子,然后寄回给了你。

这个小V就是正向代理。

正向代理的特点是,可以保护访问者的信息。因为小V是个职业代购,他在帮你代购鞋子的同时也帮别人代购鞋子,而且他不仅代购鞋子,还代购箱子、家具、电饭煲,卖家小G只知道有人买了我的鞋子,我交给了小V,但并不知道具体是谁买了他家的鞋子。

什么是反向代理

反向代理,顾名思义,正好相反,可以保护卖家的信息。也就是我们服务器的信息

Nginx Proxy Manager

2.安装

我们可以在自己绑定域名的主机上面安装,也可以做其他其他主机上面安装

1.创建安装目录

mkdir -p /root/data/docker_data/npm
-
cd /root/data/docker_data/npm

2.编写docker-compse.yml文件

vim docker-compose.yml
version: "3"
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      Add any other Stream port you want to expose(注释掉)
      - '21:21' # FTP(注释掉)
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      Uncomment this if IPv6 is not enabled on your host(注释掉)
      DISABLE_IPV6: 'true'(注释掉)
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
​
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
line 18, column 7
in "./docker-compose.yml", line 19, column 1
​

3.创建容器

cd /root/data/docker_data/npm   # 来到 dockercompose 文件所在的文件夹下
-
docker-compose up -d 

4.web访问

宿主机ip:81
#默认登录名和密码
Email:    admin@example.com
Password: changeme

5.更新

cd /root/data/docker_data/npm
​
docker-compose down 
​
cp -r /root/data/docker_data/npm /root/data/docker_data/npm.archive  # 万事先备份,以防万一
​
docker-compose pull
​
docker-compose up -d    # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
​
docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

6.卸载

cd /root/data/docker_data/npm

docker-compose down 

rm -rf /root/data/docker_data/npm  # 完全删除映射到本地的数据

3.将二级域名绑定到主机ip的某个端口上

第一步:在浏览器上面输入启动docker compose的主机IP:81

默认账户

Email: admin@example.com Password: changeme

做一下基本的配置,如果修改密码,用户名等,此处省略

第二步:绑定二级域名

设置二级域名

第三步:设置ssl秘钥

我们访问这个域名的时候会发现,我们的左上角会显示不安全的一个三角形,我们要解决这个问题所以我们要弄一个ssL。

之后选择Edit

到这里就已经完工了,此时我们就将ip:8080这个程序绑定到了一个特定的域名上面(二级域名

补充

写本机的docker网路ip的话就可以防止别人用,但是如果使用别的主机的话,就必须使用主机公网ip了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值