目录
1. 前言
随着网络环境的不断恶化,上网安全问题日益凸显。使用明文传输的HTTP协议已经难以满足安全需求,而采用HTTPS加密传输则成为了首选。本文将详细介绍如何使用v2ray配合nginx实现TLS加密连接,为您提供一个安全稳定的上网方案。
2. 环境准备
2.1 服务器配置
- 操作系统: CentOS 7/8 或 Ubuntu 18.04/20.04
- 内存: 最低 1GB,推荐 2GB 及以上
- 硬盘: 最低 20GB,推荐 50GB 及以上
- 公网IP: 1个
2.2 域名配置
- 一个可以正常访问的域名
- 域名已经解析到服务器公网IP
3. 安装配置v2ray
3.1 安装v2ray
bash
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
3.2 配置v2ray
编辑v2ray配置文件/etc/v2ray/config.json
,修改以下关键参数:
"port": 443,
# v2ray监听端口,使用443端口可以伪装成HTTPS"protocol": "vmess",
# 协议选择vmess"settings": { "clients": [ { "id": "your-uuid", "alterId": 64 } ] },
# 设置用户ID和额外ID
其他参数根据需求自行修改,保存并退出。
4. 安装配置nginx
4.1 安装nginx
bash
yum install nginx -y # CentOS apt install nginx -y # Ubuntu
4.2 配置nginx
编辑nginx配置文件/etc/nginx/conf.d/default.conf
,添加以下内容:
nginx server { listen 80; server_name your-domain.com; # 替换成你的域名 return 301 https://$server_name$request_uri;} server { listen 443 ssl http2; server_name your-domain.com; # 替换成你的域名
ssl_certificate /path/to/fullchain.pem; # 证书路径
ssl_certificate_key /path/to/privkey.pem; # 私钥路径
location / {
proxy_pass http://127.0.0.1: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;
}}
保存并退出。
5. 申请证书
5.1 使用Let’s Encrypt申请证书
bash
yum install epel-release -y # CentOS apt install software-properties-common -y # Ubuntu add-apt-repository ppa:certbot/certbot -y yum install certbot -y # CentOS apt install certbot -y # Ubuntu
certbot certonly –standalone -d your-domain.com # 替换成你的域名
5.2 配置证书
证书文件位于/etc/letsencrypt/live/your-domain.com/
目录下,包括fullchain.pem
和privkey.pem
两个文件。
将证书路径填写到nginx配置文件中:
nginx ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
6. 测试连接
打开浏览器,访问https://your-domain.com
,如果出现锁定图标,则说明TLS加密连接成功。
使用v2ray客户端连接,输入服务器地址、端口(443)、用户ID和额外ID,如果能正常上网,则配置成功。
7. 常见问题FAQ
7.1 v2ray连接失败怎么办?
- 检查v2ray配置文件是否正确
- 检查服务器防火墙是否开放443端口
- 尝试更换其他协议或者加密方式
7.2 nginx配置出错怎么办?
- 检查nginx配置文件语法是否正确
- 检查证书路径是否正确
- 尝试重启nginx服务
7.3 证书申请失败怎么办?
- 检查域名是否解析正确
- 检查服务器防火墙是否开放80端口
- 尝试手动申请证书
7.4 v2ray和nginx如何更新?
- v2ray更新:
- 运行
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
即可更新到最新版
- 运行
- nginx更新:
- CentOS:
yum update nginx
- Ubuntu:
apt update && apt upgrade nginx
- CentOS: