这是一套快速建立vps节点的方案。 Marzban 提供管理面板,VLESS + Reality 提供了目前最顶级的抗封锁能力,而 Nginx 作为反向代理服务器存在,面板节点不需要转换,目前该方案比较稳健。
apt update && apt upgrade -y apt install -y curl socat nginx git vim wget certbot python3-certbot-nginx
sudo bash -c "$(curl -sL https://github.com/Gozargah/Marzban-scripts/raw/master/marzban.sh)" @ install
完成这一步后,通过dns解析,将一个子域名或者域名解析到vps的ip上,方便后续配置nginx.
输入以下代码配置证书(xxx.com改为自己的域名):
sudo certbot --nginx -d xxx.com
marzban cli admin create
cd /var/www/html wget https://github.com/StartBootstrap/startbootstrap-grayscale/archive/gh-pages.zip apt install unzip -y unzip gh-pages.zip mv startbootstrap-grayscale-gh-pages/* .
vim /etc/nginx/sites-available/default
将原来的内容删除,用以下内容输入并覆盖 ⚠️修改xxx.com为自己的域名
# ========================================================= # 第一部分:Reality 的回落站点 (伪装页面) # 仅监听本地 8080,供 Xray (Reality) 失败时回落使用 # ========================================================= server { listen 127.0.0.1:8080 default_server; server_name _; # 这里放置伪装网页文件 root /var/www/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } } # ========================================================= # 第二部分:Marzban 面板 (HTTPS) # 修改为监听 8443 端口,避免与 Reality 的 443 冲突 # 访问地址: https://xxx:8443 # ========================================================= server { listen 8443 ssl; # 如果服务器支持IPv6,可以取消下面这行的注释,否则保持注释 # listen [::]:8443 ssl; server_name xxx.com; # SSL 证书配置 (直接复制 Certbot 生成的路径) ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # 代理转发给 Marzban 面板 location / { proxy_pass http://127.0.0.1:8000; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # WebSocket 支持 (重要) proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # 静态文件缓存优化 location /static/ { proxy_pass http://127.0.0.1:8000; expires 30d; } } # ========================================================= # 第三部分:HTTP 自动跳转 (可选) # 访问 http://xxx.com 时跳转到 https://...:8443 # ========================================================= server { listen 80; server_name xxx.com; # 301 重定向到 HTTPS 的 8443 端口 return 301 https://$host:8443$request_uri; }
然后检查配置和重启nginx:
nginx -t systemctl restart nginx
生成marzban的密钥:
docker exec marzban-marzban-1 xray x25519
生成short_id:
openssl rand -hex 4
登陆导航面板,然后点击设置,将json配置文件修改为以下内容,注意填入生成的私钥和short_id:
"inbounds": [ { "tag": "VLESS_REALITY", "port": 443, "protocol": "vless", "settings": { "clients": [], "decryption": "none", "fallbacks": [ { "dest": "127.0.0.1:8080" } ] }, "streamSettings": { "network": "tcp", "security": "reality", "realitySettings": { "show": false, "dest": "learn.microsoft.com:443", "xver": 0, "serverNames": [ "learn.microsoft.com", "www.microsoft.com" ], "privateKey": "这里填你的Private_Key", "shortIds": [ "", "6ba85179" ], "fingerprint": "chrome" } }, "sniffing": { "enabled": true, "destOverride": [ "http", "tls", "quic" ] } } ],
然后保存,重启内核,并刷新页面。创建用户,点击订阅链接即可
本文作者:James
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!