NPM 与 XUI 共存!Nginx Proxy Manager 搭配 X-UI 实现 Vless+WS+TLS 教程!

之前分享过搭建可以与宝塔共存的一个 “魔法” 服务器状态监控应用 ——xui,支持 Vmess+WS+TLS。

最近 Docker 视频出的比较多,前阵子又出现了宝塔国内版存在隐私泄露的问题,很多小伙伴其实都不用宝塔了,那么,在我们现在装了 Nginx Proxy Manager(NPM)的环境下,80 和 443 端口都转由 NPM 来管理了,可以让 XUI 和 NPM 共存吗?如何用 NPM 来反代 XUI 呢?今天我们就来折腾一下!

1. 搭建环境

  • 服务器:腾讯香港轻量应用服务器 24 元 / 月 VPS 一台展示用的服务器是甲骨文圣何塞永久免费服务器,本期搭建用的是 Vultr 的服务器,按小时计费,可随时销毁(最好是选 非大陆的服务器)(腾讯轻量购买链接)移动、联通用户建议可以用 Racknerd 试试
  • 系统:Debian 10(DD 脚本 非必需 DD 用原来的系统也 OK)
  • 域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
  • 安装好 Docker、Docker-compose(相关脚本)
  • 安装好 Nginx Proxy Manager(相关教程)

2. 搭建视频

YouTube:https://youtu.be/aYC4BTzbw8c

3. 搭建方式

3.1 服务器初始设置

服务器初始设置,参考

新买了一台服务器 “必须” 要做的 6 件小事

【Docker 系列】不用宝塔面板,小白一样可以玩转 VPS 服务器!

3.2 下载 xui

新版(支持功能更多):

BASH

bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)

GitHub 地址:GitHub - FranzKafkaYu/x-ui: Lightweight Xray panel with multi-protocol and multi-user on the same port,supports English language and Telegram bot. Easy to use and easy to manage.

旧版:

BASH

bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

根据提示设置端口信息用户名密码

3.3 登陆 xui 面板并配置

image-20220519173838476

切换最新版本:

image-20220519173900021

修改面板路径:

image-20220519173916580

记得保存配置

添加入站列表:

image-20220519174016372

如果配置,只需要修改 4 个地方:

image-20220519174141370

点击添加,之后点击重启面板

image-20220519174237766

3.4 NPM 配置

2022-12-15 更新简单方法

无需手动进入目录修改,只需要在面版即可操作!

选择任意一个 NPM 代理上,分别在下面两个位置填入下面两个部分内容:

image-20221215182225687

代替了旧方法中的:

NGINX

location ^~ /fuckgfw {              #fuckgfw换成你前面设置的面板的url根路径proxy_pass http://158.101.3.171:54331/fuckgfw;  # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,54331换成你xui面板的端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

image-20221215182244204

NGINX

location /plogger {                 # plogger填你前面设置的ws的路径proxy_redirect off;proxy_pass http://158.101.3.171:13997;    # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,13997换成你入站规则那边的IPproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_host;proxy_read_timeout 300s;# Show realip in v2ray access.logproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

保存即可!


以下为旧方法,不建议采用

登陆服务器,来到 NPM 的安装路径下(这边假设大家都是用【Docker 系列】一个反向代理神器 ——Nginx Proxy Manager 这篇文章的方法搭建的):

BASH

cd /root/data/docker_data/npm

查看当前文件:

BASH

ls -al

image-20220519174804818

我们的文件都在 data 目录下,一层一层找,找到我们的 Nginx 配置文件。

BASH

cd data/nginx/proxy_host

image-20220519175123930

可以看到两个文件(如果你 NPM 反代多的话,可能有很多个)

这边比较讨厌,是数字命名的,其实我们随便选一个也行。

image-20220519175343318

image-20220519175542303


以上为旧方法,不建议采用。

在上述位置加入以下内容:

NGINX

location ^~ /fuckgfw {              #fuckgfw换成你前面设置的面板的url根路径proxy_pass http://158.101.3.171:54331/fuckgfw;  # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,54331换成你xui面板的端口proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /plogger {                 # plogger填你前面设置的ws的路径proxy_redirect off;proxy_pass http://158.101.3.171:13997;    # IP填服务器IP,这边不能填127.0.0.1,因为是在容器里,13997换成你入站规则那边的IPproxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_host;proxy_read_timeout 300s;# Show realip in v2ray access.logproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

保存后,重启一下 NPM。

BASH

cd /root/data/docker_data/npm    # 来到docker-compose.yml所在的文件夹下docker-compose restart  # 重启

4. 客户端连接

以小火煎为例子,其他客户端类似:

点击打开二维码:

image-20220519180233466

image-20220519180412072

image-20220519180510046

image-20220519180554086

完整配置参考:

image-20220519180630504

image-20220519180644375

启动节点:

image-20220519180728131

浏览器输入 https://ip.skk.moe/

image-20220519180831650

搞定!

5. 注意事项(重要)

由于我们是直接修改的配置文件,所以,在反代的这个站点,不用轻易在 NPM 后台面板上修改原来的配置(比如打开,然后点确定),这样会破坏掉我们这边写的 Nginx 配置文件,导致节点无法正常使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/192909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于django的在线教育系统

基于python的在线教育系统 摘要 基于Django的在线教育系统是一种利用Django框架开发的现代化教育平台。该系统旨在提供高效、灵活、易用的在线学习体验&#xff0c;满足学生、教师和管理员的需求。系统包括学生管理、课程管理、教师管理、视频课程、在线测验等核心功能。系统采…

python趣味编程-5分钟实现一个打字速度测试(含源码、步骤讲解)

Python速度打字测试是用 Python 编程语言编写的,速度打字测试 Python项目理念,我们将构建一个令人兴奋的项目,通过它您可以 检查 甚至 提高 您的打字速度。 为了创建图形用户界面(GUI),我们将使用 用于处理图形的pygame库。 Python 打字速度测试有利于学生或初学者提高…

python中的NumPy和Pandas往往都是同时使用,NumPy和Pandas的在数据分析中的联合使用

文章目录 前言一、numpy的介绍与用法二、pandas的介绍与用法三、numpy与pandas的联合使用说明四、numpy与pandas的联合使用程序代码4.1 读取CSV文件并进行数据清洗&#xff0c;如去除NaN值4.2 矩阵操作和特征工程&#xff0c;如标准化处理4.3 使用Pandas进行数据筛选和分组聚合…

Android resource/drawable转换成Uri,Kotlin

Android resource/drawable转换成Uri&#xff0c;Kotlin private fun convertResource2Uri(resId: Int): Uri {return Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE "://" resources.getResourcePackageName(resId) / resources.getResourceTypeName(resI…

golang学习笔记——接口

文章目录 Go 语言接口例子空接口空接口的定义空接口的应用空接口作为函数的参数空接口作为map的值 类型断言接口值 类型断言例子001类型断言例子002 Go 语言接口 接口&#xff08;interface&#xff09;定义了一个对象的行为规范&#xff0c;只定义规范不实现&#xff0c;由具…

基于传统Session的登录

前言&#xff1a; 本人的一些简历上要回答的点。所以再此整理。 亮点&#xff1a; 使用Filter过滤器进行未登录状态自动跳转到登录页面的拦截&#xff0c;实现统一的权限管理。 1 登陆功能 1.1实体类和结果类 前端页面 约定 res.data.code为1时是登录成功。 数据库的empl…

【C++】【Opencv】cv::warpAffine()仿射变换函数详解,实现平移、缩放和旋转等功能

仿射变换是一种二维变换&#xff0c;它可以将一个二维图形映射到另一个二维图形上&#xff0c;保持了图形的“形状”和“大小”不变&#xff0c;但可能会改变图形的方向和位置。仿射变换可以用一个线性变换矩阵来表示&#xff0c;该矩阵包含了六个参数&#xff0c;可以进行平移…

PXE高效批量网络装机

目录 一.PXE 1. 系统装机的三种引导方式 2. 系统安装过程 3. 光盘安装相关文件 4. PXE简介 5. 实现过程 6. PXE优点 二.PXE实现过程 1. 实验准备 2. 搭建DHCP服务器 3. 配置TFTP服务器 4. 准备pxelinu.0文件 5. 挂载镜像准备内核、驱动文件 6. 手写配置文件 7. 准…

linux如何使用shell远程连接

简介&#xff1a;本文的一切条件基于redhat的linux操作系统。 1、创建虚拟机&#xff1a; 如有需要&#xff0c;请转至【linux基础】在VMware上安装RHEL9详细教程_融社的博客-CSDN博客 &#xff08;如若侵权&#xff0c;该篇立删&#xff09; 2、使用命令查看网段信息 打…

生命科学领域 - FAIR原则和如果使数据FAIR化

2016年&#xff0c;《Scientific Data》发表了《科学数据管理和监督的FAIR指导原则》&#xff08;FAIR Guiding Principles for scientific data management and stewardship&#xff09;。文章旨在提供指导方针&#xff0c;以提高数字资产的可发现性、可访问性、互操作性和重用…

代码随想录算法训练营第25天|216.组合总和III 17.电话号码的字母组合

JAVA代码编写 216. 组合总和III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k …

面向未来的自动化:拥抱机器人即服务(RaaS)

01. RaaS是什么&#xff1f; 对于希望实现业务流程自动化的公司来说&#xff0c;机器人通常是一笔巨大的资本支出。由于机器人非常昂贵&#xff0c;公司可能需要等待数年才能看到投资回报。正是由于这一现实&#xff0c;许多较小的组织无法投资机器人。 但一些机器人公司正在采…