轻松上手Nginx Proxy Manager:安装、配置与实战
轻松上手Nginx Proxy Manager安装、配置与实战安装部署概述安装Docker和Docker Compose创建项目目录创建Docker Compose文件启动数据存储方式说明Web管理控制台访问Web界面登录基本使用域名与IP绑定添加代理主机配置说明保存并应用配置一键申请SSL证书申请泛域名SSL证书获取API令牌添加泛域名证书新建代理验证安装部署概述Nginx Proxy Manager (NPM) 是一个基于 Nginx 的反向代理管理工具旨在简化 Nginx 的配置和管理。它提供了一个直观的 Web 界面使用户可以轻松地设置和管理反向代理、SSL 证书、访问控制等功能。官网https://nginxproxymanager.com/GitHubhttps://github.com/NginxProxyManager/nginx-proxy-manager安装Docker和Docker Compose如果你的系统上还没有安装Docker和Docker Compose你可以根据你的操作系统参考官方文档进行安装Docker安装文档Docker Compose安装文档创建项目目录创建一个目录来存放Docker Compose文件和相关配置文件mkdir nginx-proxy-manager cd nginx-proxy-manager创建Docker Compose文件在项目目录中创建一个名为docker-compose.yml的文件并添加以下内容services: app: image: jc21/nginx-proxy-manager:latest restart: unless-stopped ports: - 80:80 - 81:81 - 443:443 volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt启动在项目目录中运行以下命令启动Nginx Proxy Manager这将下载所需的Docker镜像并启动容器。docker-compose up -d # 如果使用docker-compose-plugin docker compose up -d数据存储方式说明Nginx Proxy Manager默认使用SQLite数据库来存储其数据包括配置、代理主机信息、SSL 证书等。除此之外Nginx Proxy Manager还可以使用MySQL来进行数据存储。以下是一个docker-compose.yml文件Nginx Proxy Manager使用MySQL进行数据存储的示例version: 3.8 services: app: image: jc21/nginx-proxy-manager:latest restart: unless-stopped ports: # These ports are in format host-port:container-port - 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: # Mysql/Maria connection parameters: 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 MARIADB_AUTO_UPGRADE: 1 volumes: - ./mysql:/var/lib/mysqlWeb管理控制台访问Web界面一旦容器启动你可以通过浏览器访问Nginx Proxy Manager的Web界面。默认地址是http://your-server-ip:81。登录首次登录时使用以下默认凭据Email: adminexample.com Password: changeme登录后系统会提示更改默认密码。基本使用域名与IP绑定在域名管理服务商那里添加域名与IP的绑定关系。这里添加一条DNS解析也就是创建一个二级域名类型A、名称npm、IP服务器IP。这表示访问二级域名npm.域名即可访问服务IP。添加代理主机在Web界面中可以添加新的代理主机来管理反向代理配置。点击Proxy Hosts选项卡然后点击Add Proxy Host按钮在添加代理主机的页面中填写以下信息配置说明Domain Names 填写网站域名需要上面做好DNS解析把域名绑定到服务器IP Scheme 选择HTTP或HTTPS。默认http即可除非有自签名证书 Forward Hostname/IP 填写要代理到的目标主机名或IP地址或者Docker容器内部IPNPM和程序服务在同一台服务器上 Forward Port填写目标主机的端口号这里是NPM管理界面81端口 Cache Assets 缓存根据需求选择打开 Block Common Exploits 阻止常见的漏洞根据需求选择打开 Websockets Support WS支持根据需求选择打开 Access List NPM自带的一个限制访问功能注意这里填的是172.17.0.1为Docker容器内部的IP地址。可以通过下面的命令查询[rootvm ~]# ip addr show docker0 3: docker0: NO-CARRIER,BROADCAST,MULTICAST,UP mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:39:63:84:15 brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever保存并应用配置填写完所有必要的信息后点击Save按钮保存配置。Nginx Proxy Manager会自动生成并应用Nginx 配置文件。此时浏览器访问二级域名http://your-server-domain即可访问到Nginx Proxy Manager的管理界面一键申请SSL证书申请SSL证书让网站支持https访问。选择创建一个新的证书勾选强制SSL填写邮件、同意条款点击Save即可申请SSL证书此时浏览器就可以使用https访问并提示连接安全申请泛域名SSL证书泛域名SSL证书就是指申请一个二级域名*.xxx.com证书这样二级域名无论是什么都可以用这个证书不再需要为每一个二级域名申请一个SSL证书。获取API令牌这里使用Cloudflare托管域名故登录Cloudflare获取域名服务商的API令牌API令牌在Cloudflare仪表板中点击右上角的头像然后选择我的个人资料在左侧菜单中选择API 令牌 创建新的API令牌点击创建令牌按钮 选择API令牌模板Cloudflare提供了一些预定义的模板可以选择其中之一也可以自定义令牌。 根据API令牌用途选择不同模板对于Nginx Proxy Manager通常选择编辑区域DNS模板是一个不错的选择。使用模板后只需要修改区域资源项选择要操作的域名即可得到如下提示获得API令牌添加泛域名证书选择SSL Certificates - Add SSL Certificate - Lets Encrypt选项填写域名*.域名或域名 *.域名、邮箱勾选Use a DNS Challenge、选择DNS提供商Cloudflare根据模板提示填入服务商处获取的API令牌勾选同意条款然后保存即可新建代理进入Proxy Hosts新建一个反向代理指定一个二级域名同时指定某个程序服务端口证书配置这里指定泛域名证书验证浏览器以https方式访问指定的二级域名不出意外即可访问对应的服务
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2412642.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!