通过nginx+xray服务搭建及本地配置

2024-03-20 09:44

本文主要是介绍通过nginx+xray服务搭建及本地配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、xray服务配置

下载:https://github.com/XTLS/Xray-core

进入下载界面

这里我选择的是Xray-linux-64.zip

将文件解压到 /usr/local/xray

编辑配置文件/usr/local/xray/config.json

uuid可以在v2ray客服端自动生成,也可以在UUID v4 生成器 - KKTool工具箱 (kktoolkit.com)    上获取uuid

{"inbounds": [{"port": 10000,"protocol": "vmess","settings": {"clients": [{"id": "6ec56d51-52cd-4b64-a925-52982ed7044e","alterId": 100}],"decryption": "none"},"streamSettings": {"network": "ws","wsSettings": {"path": "/kazfs"}}}],"outbounds": [{"protocol": "freedom"}]
}

配置xray启动服务vi /etc/systemd/system/xray.service

[Unit]
Description=Xray Service
After=network.target[Service]
User=nobody
ExecStart=/usr/local/xray/xray -config /usr/local/xray/config.json
Restart=on-failure
RestartSec=10
LimitNOFILE=51200[Install]
WantedBy=multi-user.target

设置开机启动xray

systemctl enable xray --now

二、nginx配置

    location /kazfs {if ($http_upgrade != "websocket") { # WebSocket协商失败时返回404return 404;}proxy_redirect off;proxy_pass http://127.0.0.1:10000;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host;# Show real IP in v2ray access.logproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

三、客服端配置

3.1 windows客服端

测试结果:

3.2 linux客服端配置

下载软件还是去https://github.com/XTLS/Xray-core下载,用的还是服务端一样的xray

/usr/local/xray/config.json

{"log":{"loglevel":"warning"},"inbounds":[{"port":10808,"listen":"127.0.0.1","protocol":"socks","settings":{"udp":true}},{"tag":"http","port":10809,"listen":"127.0.0.1","protocol":"http","sniffing":{"enabled":true,"destOverride":["http","tls"]},"settings":{"auth":"noauth","udp":true,"allowTransparent":false}}],"outbounds":[{"tag":"proxy","protocol":"vmess","settings":{"vnext":[{"address":"www.ziyuantao.com","port":443,"users":[{"id":"6ec56d51-52cd-4b64-a925-52982ed7044e","alterId": 100}]}]},"streamSettings":{"network":"ws","security":"tls","tlsSettings":{"serverName":"www.ziyuantao.com"},"wsSettings":{"path":"/kazfs"}}},{"tag":"direct","protocol":"freedom","settings":{}},{"tag":"block","protocol":"blackhole","settings":{"response":{"type":"http"}}}],"routing":{"domainStrategy":"IPIfNonMatch","domainMatcher":"linear","rules":[{"type":"field","inboundTag":["api"],"outboundTag":"api","enabled":true},{"type":"field","outboundTag":"direct","domain":["domain:example-example.com","domain:example-example2.com"],"enabled":true},{"type":"field","outboundTag":"direct","ip":["192.168.10.1/24"],"protocol":["http","tls","bittorrent"]},{"type":"field","outboundTag":"block","domain":["geosite:category-ads-all"],"enabled":true},{"type":"field","outboundTag":"direct","domain":["geosite:cn"],"enabled":true},{"type":"field","outboundTag":"direct","ip":["geoip:private","geoip:cn"],"enabled":true},{"type":"field","port":"0-65535","outboundTag":"proxy","enabled":true},{"type":"field","port":"0-65535","outboundTag":"proxy","enabled":true}]}
}

服务配置:

[Unit]
Description=Xray Service
After=network.target[Service]
User=nobody
ExecStart=/usr/local/xray/xray -config /usr/local/xray/config.json
Restart=on-failure
RestartSec=10
LimitNOFILE=51200[Install]
WantedBy=multi-user.target

启动服务:

systemctl start xray

四、测试

curl -x socks5h://127.0.0.1:10808 https://www.google.com
curl -x http://127.0.0.1:10809 https://www.google.com

五、设置

export http_proxy=http://127.0.0.1:10809
export https_proxy=http://127.0.0.1:10809

然后通过curl google.com就能访问

六、问题排查(重要)

VMess: Invalid User 可能的原因:

1、客户端和服务器端的用户 ID 不匹配;
2、客户端和服务器端的用户 alterId 不匹配;
3、客户端与服务器的时间不匹配,误差不能超过90秒钟;

可以选择证书自申请的caddy+xray,也可以选择网上那些一键式搭建的方式

由于我的服务器需要nginx,就用nginx做websocket连接了

这篇关于通过nginx+xray服务搭建及本地配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829061

相关文章

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.