抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >
L
O
A
D
I
N
G

『代理』这个词相信大家应该都不陌生吧,就算没用过也差不多听说过吧,对于站长/博主来说基本上可以说是必不可少的。本文从基本介绍到实际应用为大家详细介绍说明。

一、前言

本文主要介绍 Nginx Proxy Manager 的安装已以及使用,文中的 NPM 皆指的是Nginx Proxy Manager

Nginx proxy manager(NPM)是集 Nginx 设置和 ssl 证书申请的 docker 神器。

官方网站:https://nginxproxymanager.com/

它的功能总结起来就是以下几点:

  1. 轻松的反向代理设置
  2. 轻松配置HTTPS
  3. 提供简单的访问权限设置

二、代理服务

2.1 正向代理

2.2 反向代理

三、NPM(Nginx Proxy Manager)

3.1 NPM 简介

3.2 NPM 安装

1. 安装 Docker 和 Docker-Compose

2. 创建 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
# docker 工作目录 请按需修改
path_docker=~/docker

# 控制台输出 path_docker
echo ${path_docker}

# 创建安装目录并进入到该目录
mkdir -p ${path_docker}/docker-proxy-manager && cd ${path_docker}/docker-proxy-manager

# 创建 docker-compose.yml 文件
vim docker-compose.yml

3. 编辑 docker-compose.yml 内容如下:

docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: '3'
services:
app:
image: 'chishin/nginx-proxy-manager-zh'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '9527:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP

# Uncomment the next line if you uncomment anything in the section
# environment:
# Uncomment this if you want to change the location of
# the SQLite DB file within the container
# DB_SQLITE_FILE: "/data/database.sqlite"

# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'

volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

当然了,你也可以使用官方提供的 docker-compose.yml

4. 启动运行

1
docker-compose up -d

等待启动完成即可,登录到管理 UI :http://ip:port 进行NPM管理

默认管理员用户:

1
2
Email:    admin@example.com
Password: changeme

使用此默认用户登录后,系统将立即要求您修改详细信息并更改密码。

至此,完成安装。

3.3 NPM 使用方法

1. 代理服务

点击绿色图标的代理服务选项,这里显示你所有已经添加的代理服务。

点击右侧的添加代理服务按钮,代理服务一共划分为了四个部分,当然了,这并不需要全部填写完,如果你只是想简单的反向代理,你只需要填写完详细内容中的域名、转发主机和端口即可。

这里我以为博客为例,完整示范一下如何添加代理服务,假设我有以下要素:

  1. 个人购买的域名:example.com
  2. 博客的公网地址:82.157.233.186:80

现在需要的是创建一个域名 blog.example.com

如果搭建的服务和NPM服务所在不是一个服务器,则填写能访问对应服务的IP。
如果都在同一台服务器上,则填写在服务器中输入命令获取得到的ip

ip addr show docker0

2. 泛域名证书申请

3. 重定向

4. 404 Error

评论