Docker神器NPM的安装

准备工作

# 工作目录请按需修改喔
path_docker=/nas 

# 目录管理
sudo mkdir -p ${path_docker}/ddns-go/ ${path_docker}/npm


# 提前拉取好镜像
docker pull jc21/nginx-proxy-manager:latest

目录管理

cd ${path_docker}/npm

配置yml文件

创建新文件docker-compose.yml并添加内容如下:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '<NPM-后台端口>:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

你可以使用默认端口或者自定义。

一般地,对于VPS来说,80和443端口应该使用默认的。可以使用80和443端口也是玩VPS的优势之一呀!想想你每次访问互联网服务都要加个端口号,看着就很难受。你的家用NAS一般是你或者你的家人等少数人用,有一些端口号也无伤大雅。

可是,如果你要建一个个人博客,用非443端口不合适吧?看着就很不正式呢!

一般地,新买的个人云服务器可以默认;而家用宽带一般不放行443端口,而要改用其它端口。

另外,这个81端口是NPM的默认后台端口,这个你可以改一个自己喜欢的。我建议不要用默认的81端口,这样可以使NPM更加隐蔽。

服务管理

# 上线服务
docker-compose up -d

# 下线服务
docker-compose down

# 更新服务(我还没用过。更新的话建议先对旧服务进行备份,以防新旧版本有兼容问题。)
docker-compose pull
docker-compose up -d

不要忘了用ufw开放你选择的NPM-后台端口端口喔!还记得ufw怎么用吗?44380端口在之前的演示中应该已经开放过了。自己用sudo ufw status numbered查询一下。

访问:http://<ip>:<NPM-后台端口>进行NPM管理。

根据官网,它的默认帐户和密码是:

默认帐户:admin@example.com
默认密码:changeme

这里我也简单地介绍一下NPM的使用方式。

特别注意

**个人宽带的公网ip不开放80端口,所以在NPM中一般用DNS challege而不是HTTP challege的方式申请Let’s Encrypt SSL证书。**如果你使用的是DNS challege的方式,一般还要提供一些token信息,这个每个托管商都是不太一样的。你可以试一下,HTTP challege失败就换DNS challege。我在国内都可以成功申请到证书。

如果你用VPS的话,应该没有这个问题。这也是为什么推荐新手玩VPS嘛 ?

这里值得一说的是,**NPM是可以反向代理自己的!**你第一次访问NPM的时候,是用http://<ip>:<NPM-后台端口>的方式访问,这个时候你输入的帐户和密码都是明文传播的。你设置好NPM的自身反代后,要尽快用https://domain.com的方式来访问它,然后将用户名和密码修改一下。NPM是本地和外界沟通的桥梁,可不能有什么安全隐患!

使用方法

申请SSL证书

我喜欢统一申请好证书,然后在建立新的反代记录后添加申请好的证书。

在国内,由于家庭宽带的80端口是被封锁的,所以用http challenge申请ssl证书的方式很容易失败。NPM也提供了DNS challge的方式来申请Let’s Encrypt证书。这里也主要是讲述后者的方式。

帐户设置等初始化工作就不再赘述。自己摸索一下,不是很难。

在界面中点击SSL Certificates--Add SSL Certificate--Let's Encrypt

Docker神器NPM的安装

其它设置如下图。你可以申请一个二级域名的通用证书,或者专门为一个三级域名设置证书。下面我展示的是申请一个二级域名的通用证书。我这个人比较懒,申请一个证书给所有的三级域名用,比较简单一些,哈哈 ? 你要同时为两个域名申请*.hwb0307.comhwb0307.com,这样才可以正常使用喔:

Docker神器NPM的安装

个人的key和secret要注意保密。DNA provider可以选好多种,看你自己的情况。

save。等一会就好了。如果有报错的话,再多试几次,检查一下自己有没有写错信息。我在国内的网络环境中都可以成功申请证书。成功后如下图所示:

Docker神器NPM的安装

添加反向代理记录

添加一个记录:

Docker神器NPM的安装

这里以ddns-go为例。比如,ddns-go的反向代理设置如下。这个172.17.0.1是docker的默认主机ip地址,通过这个地址加上docker应用的ports即可访问具体的docker应用。当然用192.XXX之类的地址也是可以的,你都可以试试看。

值得一提的是,这里NPM和ddns-go都是在同一个局域网中,所以可以通过反代局域网地址加端口号成功实现。而且,你不需要在路由器中为ddns-go专门设置一个端口映射,这样在互联网使用的环境下,外部的应用只能通过NPM对ddns-go服务进行访问。由于这种访问是https加密的,因此具有较好的安全性。

Docker神器NPM的安装

点击save保存,就会有一条记录:

Docker神器NPM的安装

此时通过:https://exampledomain.com:<NPM-443端口>即可访问ddns-go。如果你用的是443端口,可以不加端口号,因为443是互联网中默认的https端口。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/8089

(0)
郭靖的头像郭靖
上一篇 2023年4月26日 下午3:55
下一篇 2023年4月27日 下午3:40

相关推荐

  • HTTPS为什么比HTTP更安全?

    一、安全性 HTTP在通信中: 通信使用明文,不对内容进行加密,容易被窃听 不验证通信方的身份,内容可能被伪装分子窃取 HTTPS则解决了上述问题: 内容加密,建立一个信息安全通道,来保证数据传输的安全 身份认证,确认网站的真实性 数据完整性,防止内容被第三方冒充或者篡改 HTTPS=HTTP+SSL/TLS ,如今SSL已废弃,所以只关注HTTP+TLS,…

    2022年8月19日
    96500
  • Centos7.6下SSH服务默认端口修改

    一般服务端的ssh端口默认是22,我们可以通过修改服务端的ssh配置文件,来修改ssh访问服务端的端口号 1、连接linux服务器 2、用编辑器(Vim,Emacs,Nano…)打开服务器上的/etc/ssh/sshd_config文件 vi /etc/ssh/sshd_config 2、修改对应位置的端口为你想要端口,修改完成后先按ESC键,再按shift…

    2022年6月8日
    98600
  • 如何通过宝塔面板配置ssl证书

    至于宝塔的安装以及如何安装环境搭建网站,大家可以看我们的另一篇文章: Centos7.6下宝塔安装及资产管理系统部署 基于宝塔面板配置网站ssl证书支持https访问其实很简单,不需要你懂什么技术知识。接下来你跟着我的步骤,就能成功配置网站ssl。 宝塔面板后台设置成功如图所示: 第一步:点击设置 第二步:点击右侧的SSL,选择宝塔SSL,点击申请证书 第三…

    2022年6月14日
    1.5K00
  • Windows主机入侵痕迹排查办法

    一、排查思路 在攻防演练保障期间,一线工程师在实施主机入侵痕迹排查服务时可能面临时间紧、任务急、需要排查的主机数量众多情况。为了确保实施人员在有限的时间范围内,可以高效且保证质量的前提下完成主机入侵痕迹排查工作,本人总结了自己的一些经验,下面的内容特此分享主机入侵痕迹排查服务中重点、关键的排查项,仅作为参考使用。 1.1初步筛选排查资产 一般情况下,客户资产…

    2023年3月3日
    85900
  • nginx的反向代理

    代理原理 代理配置 启用 nginx proxy 代理 环境两台nginx真实服务器 a、nginx-1 启动网站(内容) b、nginx-2 启动代理程序 c、nginx proxy 具体配置详解 注意:proxy_pass http:// 填写nginx-1服务器的地址。 d、 使用PC客户端访问nginx-2服务器地址 浏览器中输入http://192…

    2023年3月22日
    83500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信