零基础保姆级小白节点搭建教学
正文 使用开源的X-UI
控制面板搭建`vmess+ws+tls或者vless+ws+tls的节点。 并且为了不占用80与443端口,可搭建所有协议节点,可以实现完美与安全的VPN解决方案。
同时想要443端口WEB,这方法可以同时实现
VPS购买
搬瓦工: 优惠码:
域名购买
namesilo: 优惠码:
SSH工具
FinalShell:[https://www.hostbuf.com/t/988.html
更新软件源(更新完成需要重启服务器)
apt update
启用 BBR TCP (bbr定义是:服务器拥堵控制算法)
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p
安装x-ui:
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
安装acme:
curl https://get.acme.sh | sh
添加软链接:
ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh
切换CA机构:
acme.sh --set-default-ca --server letsencrypt
申请证书:
acme.sh --issue -d 你的域名 -k ec-256 --webroot /var/www/html
证书路径:/root/.acme.sh/域名.cer
/root/.acme.sh/域名.key
如果你不想占用80与443端口,到这里就基本完成了。
用ip地址加x-ui的端口进入x-ui面板,并输入自己设置的用户名密码登入。
登入后在面板设置里修改面板证书公钥文件路径与面板证书密钥文件路径,在ssH里重启X-UI面板,就可以用自己的域名+端口号登入X-UI面板
这时就可以创建节点了。
节点创那建按下图生成。
这样整个流程完成,可以用面板里的各个协议节点了。。。
回到服务器SSH,安装nginx
apt install nginx
安装证书:
acme.sh --install-cert -d 你的域名 --ecc
--key-file /etc/x-ui/server.key
--fullchain-file /etc/x-ui/server.crt
--reloadcmd "systemctl force-reload nginx"
通过谷歌搜索适合的伪装站
http站点优先,个人网盘符合单节点大流量特征
示例关键字:intext:登录 Cloudreve
在服务器上配置nginx
配置文件路径:/etc/nginx/nginx.conf
(删除里面原用的所有,将下的代码修改后全部复制过去)
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
gzip on;
server {
listen 443 ssl;
server_name nicename.co; #你的域名
ssl_certificate /etc/x-ui/server.crt; #证书位置
ssl_certificate_key /etc/x-ui/server.key; #私钥位置
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
location / {
proxy_pass https://bing.com; #伪装网址
proxy_redirect off;
proxy_ssl_server_name on;
sub_filter_once off;
sub_filter "bing.com" $server_name;
proxy_set_header Host "bing.com";
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Encoding "";
proxy_set_header Accept-Language "zh-CN";
}
location /ray { #分流路径
proxy_redirect off;
proxy_pass http://127.0.0.1:10000; #Xray端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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 /xui { #xui路径
proxy_redirect off;
proxy_pass http://127.0.0.1:9999; #xui监听端口
proxy_http_version 1.1;
proxy_set_header Host $host;
}
}
server {
listen 80;
location /.well-known/ {
root /var/www/html;
}
location / {
rewrite ^(.*)$ https://$host$1 permanent;
}
}
}
每次修改nginx配置文件后必须使用 systemctl reload nginx 命令重新加载配置文件
创建节点与上面相同,但不需要设置任何证书就可以VPN
安装好nginx后,打开SSH找到/etc/nginx/nginx.conf,打开文件
修改自己的域名及谷歌上找的网盘网址。
修改后的图如下
在面板里以下图创建一个节点,一定要记住IP id 非常重要。
将IP与ID复制到下图。
修改面板里的数据,按下图修改,面板端口是自己搭建时设的。点保存后,X-UI面板就打不开了。
继续修改nginx文件。如下图
此时nginx文件全部修改完成,只要将这修改后的所有代码替换etc/nginx/nginx.conf文件。同时X-UI面板的地址改为:如下图:域名+id+-XUI.
复制面板里的节点到客户端,此时还不能正常连接,需要修改下图3个地方。
分别填写自己的域名,443端口(只能是443,其它端口无效)打开tls,点确定,此时节点就正常访问了。
多用户合租
通过修改nginx的配置文件实现
ws path
路径分流
location /ray { #分流路径 proxy_redirect off; proxy_pass http://127.0.0.1:10000; #Xray端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 注:如果证书自动更新失败,可手动更新证书: acme升级 升级: acme.sh --upgrade 自动更新 acme.sh --upgrade --auto-upgrade 证书更新(acme) acme.sh --renew -d 域名 --force acme.sh --renew -d 域名 --force -d *.域名 --force