v2ray + nginx 反向代理配置指南

目录

  1. 前言
  2. 环境准备
  3. 安装 v2ray
  4. 配置 v2ray
  5. 安装 nginx
  6. 配置 nginx 反向代理
  7. 优化配置
  8. FAQ

前言

v2ray 是一款功能强大的开源代理软件,支持多种代理协议,性能出色。nginx 作为高性能的 web 服务器,也可以作为反向代理服务器使用。将 v2raynginx 结合使用,可以轻松搭建一个高性能、安全的代理服务。

环境准备

  • 一台 Linux 服务器,本文以 Ubuntu 20.04 为例
  • 域名一枚(用于 nginx 反向代理)

安装 v2ray

  1. 安装 v2ray 依赖包:

    sudo apt-get update sudo apt-get install curl gnupg2 ca-certificates lsb-release

  2. 添加 v2ray 官方 GPG 密钥:

    curl -sSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg –dearmor -o /usr/share/keyrings/v2ray-archive-keyring.gpg

  3. 添加 v2ray 官方源:

    echo “deb [signed-by=/usr/share/keyrings/v2ray-archive-keyring.gpg] https://packages.cloud.google.com/apt v2ray main” | sudo tee /etc/apt/sources.list.d/v2ray.list

  4. 安装 v2ray:

    sudo apt-get update sudo apt-get install v2ray

配置 v2ray

  1. 生成 v2ray 配置文件:

    sudo v2ray config

    这将生成一个默认的 v2ray 配置文件 /etc/v2ray/config.json

  2. 编辑配置文件:

    sudo nano /etc/v2ray/config.json

    根据您的需求修改配置文件,例如更改监听端口、添加 TLS 等。

  3. 启动 v2ray:

    sudo systemctl start v2ray

    查看 v2ray 状态:

    sudo systemctl status v2ray

安装 nginx

  1. 更新软件包列表:

    sudo apt-get update

  2. 安装 nginx:

    sudo apt-get install nginx

  3. 启动 nginx:

    sudo systemctl start nginx

    查看 nginx 状态:

    sudo systemctl status nginx

配置 nginx 反向代理

  1. 编辑 nginx 配置文件:

    sudo nano /etc/nginx/conf.d/default.conf

  2. server 块中添加以下配置:

    location / { proxy_pass http://localhost:10000; # v2ray 监听端口 proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

  3. 保存并退出。

  4. 重启 nginx:

    sudo systemctl restart nginx

优化配置

  1. 启用 HTTP/2: 在 server 块中添加以下配置:

    listen 80 http2; listen 443 ssl http2;

  2. 配置 TLS:

    • 生成 SSL 证书:

      sudo apt-get install certbot sudo certbot certonly –nginx

    • server 块中添加以下配置:

      ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

  3. 开启 HSTS: 在 server 块中添加以下配置:

    add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;

FAQ

Q: 如何查看 v2ray 的日志? A: 使用以下命令查看 v2ray 的日志:

sudo journalctl -u v2ray -f

Q: 如何查看 nginx 的日志? A: 使用以下命令查看 nginx 的日志:

sudo tail -n 100 /var/log/nginx/access.log sudo tail -n 100 /var/log/nginx/error.log

Q: 如何更新 v2ray 和 nginx? A:

  • 更新 v2ray:

    sudo apt-get update sudo apt-get install v2ray

  • 更新 nginx:

    sudo apt-get update sudo apt-get install nginx

Q: 如何备份和恢复 v2ray 和 nginx 的配置? A:

  • 备份配置文件:

    sudo tar czf v2ray-nginx-backup.tar.gz /etc/v2ray /etc/nginx

  • 恢复配置文件:

    sudo tar xzf v2ray-nginx-backup.tar.gz -C /

正文完