Nginx Proxy Manager
轻松安全地公开您的 Web 服务
Docker-Compose
创建 docker-compose.yml 文件
- 初始账号
admin@example.com
- 初始密码
changeme
1 2 3 4 5 6 7 8 9 10 11 12 13
| version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' container_name: npm restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt
|
开启 80 81 443 端口
1 2 3
| ufw allow 80/tcp ufw allow 81/tcp ufw allow 443/tcp
|
部署静态网站
进入挂载 data 文件夹下,新建你要创建的静态网站文件夹 docs.rahn.top
来到 Edit Proxy Host — Advanced 输入以下内容,就完成了静态网站的搭建
1 2 3
| location / { root /data/docs.rahn.top; }
|
登陆限制功能
一键脚本
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| #! /bin/bash
red(){ echo -e "\033[31m\033[01m$1\033[0m" } green(){ echo -e "\033[32m\033[01m$1\033[0m" } yellow(){ echo -e "\033[33m\033[01m$1\033[0m" }
function nginx-proxy-manager_install(){ if nc -z localhost 80 || nc -z localhost 81 || nc -z localhost 443; then echo "端口 80、81 或 443 已经被占用,请检查相关进程。" exit 1 fi if docker ps -a --format "{{.Names}}" | grep -q "npm"; then echo "容器名 npm 被占用" exit 1 fi if [ ! -d /root/docker/Nginx-Proxy-Manager ]; then mkdir -p /root/docker/Nginx-Proxy-Manager fi cd /root/docker/Nginx-Proxy-Manager if [ -f "docker-compose.yml" ]; then rm docker-compose.yml fi cat <<EOF > docker-compose.yml version: '3.3' services: app: image: 'jc21/nginx-proxy-manager:latest' container_name: npm restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt EOF docker-compose up -d ufw allow 80/tcp ufw allow 81/tcp ufw allow 443/tcp yellow "-----------------------------------------------" green " Web 端口:80 81 443" echo green " Docker IP = $(ip addr show docker0 | grep 'inet\b' | awk '{print $2}' | cut -d '/' -f1):81" echo green " 服务器 IP = http://$(ifconfig $(ifconfig | grep -oP 'enp\w+') | grep 'inet ' | awk '{print $2}'):81" echo green " Nginx Proxy Manager 安装完毕!" yellow "-----------------------------------------------" }
function start_menu(){ clear yellow "-----------------------------------------------" red " Nginx Proxy Manager —— 反向代理" yellow "-----------------------------------------------" green " 1. Nginx Proxy Manager 安装" yellow "-----------------------------------------------" red " 0. 退出脚本" echo read -p "请输入数字:" menuNumberInput case "$menuNumberInput" in 1 ) nginx-proxy-manager_install ;; 0 ) exit ;; * ) clear red "请输入正确数字!" start_menu ;; esac } start_menu
|
官方: https://nginxproxymanager.com/