MENU

#教程#v2ray+nginx+tls安全的爱国方式

November 26, 2017 • Read: 56020 • 网络笔记

介于国内的形势以及SSR作者破娃不再更新,一个更加安全以及更加快捷的翻墙需要快速的更新换代,所以v2ray使用vmess作为一种平台的方式出现在人们面前,但是由于折腾需要一点基本常识,所以v2ray的发展并不算太过普及,直到一键脚本的诞生才大量推广了v2ray。但是更加安全的方式还是需要手动来安装。所以才有了本次教程的诞生。

环境

  1. 本次教程中使用的是Debian8 × 64 mini
  2. SSH连接工具
  3. 一台VPS 点击购买
  4. 域名

更新

apt-get update

安装V2ray

因为本次的教程是mini系统,所以一些常规包并不具备,这里还需要安装unzip之类

apt install unzip daemon curl

之后再执行

bash <(curl -L -s https://install.direct/go.sh)

安裝 EasyEngine

要想使用上述TLS以及nginx,只需要EasyEngine便能解决,它更加方便

wget -qO ee rt.cx/ee && sudo bash ee

中间需要输入NAME以及你的邮箱 完成setup以后输入

source /etc/bash_completion.d/ee_auto.rc

安装Nginx

ee site create example.com --html --letsencrypt

其中example.com是你的域名

cd /var/www/example.com/conf/nginx

进入nginx的conf

vi v2ray.conf

编辑配置文件如下

location /enterv2ray/ {
proxy_redirect off;
proxy_pass http://127.0.0.1:11054; #此处的11054为你的v2ray端口。请自己修改
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}

cp /var/www/html/index.nginx-debian.html /var/www/example.com/htdocs/index.html && chown www-data: /var/www/example.com/htdocs/index.html

重启nginx

service nginx restart

设置v2ray

备份之前数据cp /etc/v2ray/config.json /etc/v2ray/config.json.bak

修改config服务端

rm /etc/v2ray/config.json && vi /etc/v2ray/config.json

将其中的端口port以及UUID修改成你自己的

{
    "log": {
            "access": "/var/log/v2ray/access.log",
            "error": "/var/log/v2ray/error.log",
            "loglevel": "warning"
    },
    "inbound": {
            "port": 1025,
            "protocol": "vmess",
            "settings": {
                    "clients": [{
                            "id": "061dc924-dbe0-4175-953e-2b7e6255c86c",
                            "level": 1,
                            "alterId": 64,
                            "security": "auto"
                    }]
            },
            "streamSettings":{
                    "network":"ws",
                    "security": "auto",
                    "wsSettings":{
                            "connectionReuse": true,
                            "path": "/enterv2ray/"
                            }
                    }
    },
    "outbound": {
            "protocol": "freedom",
            "settings": {}
    },
    "outboundDetour": [
        {
            "protocol": "blackhole",
            "settings": {},
            "tag": "blocked"
        }
    ],
    "routing": {
        "strategy": "rules",
        "settings": {
            "rules": [
                {
                    "type": "field",
                    "ip": [
                        "0.0.0.0/8",
                        "10.0.0.0/8",
                        "100.64.0.0/10",
                        "127.0.0.0/8",
                        "169.254.0.0/16",
                        "172.16.0.0/12",
                        "192.0.0.0/24",
                        "192.0.2.0/24",
                        "192.168.0.0/16",
                        "198.18.0.0/15",
                        "198.51.100.0/24",
                        "203.0.113.0/24",
                        "::1/128",
                        "fc00::/7",
                        "fe80::/10"
                    ],
                    "outboundTag": "blocked"
                }
            ]
        }
    }
}

如果你想获取一个全新的UUID请访问https://www.uuidgenerator.net/
或者使用https://htfy96.github.io/v2ray-config-gen/ 配置全新的v2ray服务端以及客户端

使用CDN隐藏真实IP

1.修改nginx.conf

文件位于/usr/local/nginx/conf/

打开该文件

vi /usr/local/nginx/conf/nginx.conf

在代码http{}段里添加一句

proxy_intercept_errors on;

保存退出即可

2.修改vhost文件

文件位于/usr/local/nginx/conf/vhost/

打开该文件

vi /usr/local/nginx/conf/vhost/www.yourdomain.com.conf

在443端口的配置里加一句

error_page 400 = https://www.yourdomain.com/xxxx;

保存退出重启nginx

service nginx restart

软件下载

点击下载

Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

33 Comments
  1. 123333 123333

    博主您好,请教一下,在安裝 EasyEngine时,输入wget -qO ee rt.cx/ee && sudo bash ee后,返回这样的命令-bash: sudo: command not found,再进行不下去了,请问这个该怎样解决呢?打扰了,谢谢

    1. @123333如果你是centos系统 可以输入yum install bash
      如果你是Linux系统 apt-get install bash 如果这些都不行输入ls查看是否有你所下载的ee 如果这些都不行。
      请适当百度或Google 亦或者更换系统

    2. 谢谢 谢谢

      @123333重启系统,或者等待一段时间。
      同样的系统有时会出现,有时就可以安装。
      我按照教程也出现了这个提示,换了 Ubuntu16-64成功安装,以前用 Ubuntu同样也出现过提示。
      感谢博主的教程

    3. MICHEL MICHEL

      @空白网络他这个应该是apt-get install sudo

    4. @MICHEL原谅我知识浅薄... sudo不是root权限的吗

  2. dav dav

    请问,我已经按照你的教程搭建完毕。运行正常。如何作为shadowsocks服务器运行,是在etc/v2ray/config.json中添加吗?查看了很多资料,没有把代码添加。怕运行出错。请指教,谢谢!

    1. @dav我还没有尝试过使用shadowsocks 另外shadowsocks的配置我还没尝试过... 不过确实是在/etc/v2ray/config.json中添加~

    2. dav dav

      @空白网络谢谢!我已经添加,运行成功。v2ray可以连接,ss还无法连接,继续想办法。
      再次感谢您的教程和无私奉献的精神!!!

  3. samcard samcard

    麻烦问一下,Ubuntu 16 到最后一步,没有找到vhost文件的位置,您知道在那里吗,还是需要再做一些操作才有?

    1. @samcard如果你是用的oneinstack 你可以在/etc/local/nginx/conf/vhost里面找到,如果实在找不到 用 find -/ vhost指令查找一下~

  4. hunter hunter

    nginx此处的11054为你的v2ray端口。请自己修改,这里的端口是v2ray的config.json中的端口不

  5. MICHEL MICHEL

    使用CDN隐藏真实IP后的步骤都做不了,压根没这些目录和文件,怎么办啊,谢谢

    1. 肥猫 肥猫

      @MICHEL还是别整那么复杂了,博主跳跃式思维,跟不上,交代的不是很清楚

    2. @肥猫哈哈哈 GG...

    3. @MICHEL使用我测试的环境看看

    4. MICHEL MICHEL

      @空白网络我就是用的Debian8 × 64,我看了一下EE文件,/usr/local/下面应该是没有NGINX这个目录,会不会是EE文件更新过了?

    5. @MICHEL你可以通过oneinstack去安装nginx跟SSL

    6. @MICHEL教程中我使用的CDN是CloudFlare 你也可以使用其他的CDN,但是都要支持一点的是:CDN需要支持SSL证书

    7. ETA ETA

      @MICHEL我也是这样,琢磨了一天也没找到原因

  6. GODwen GODwen

    按照教程坐下来, 出现的问题是连不上v2ray。 在找了许多后发现,v2ray 只要设置的端口跟nginx的代理端口相同时,v2ray无法正常启动。(通过service v2ray status)查询状态提示 启动失败。
    因为 看到你视频最后只是ping 了一下 域名,并没有 看v2ray的运行状态,所以希望
    您 能看看(。•ˇ‸ˇ•。)

    1. GODwen GODwen

      @GODwen系统 是centos 7

    2. @GODwennginx配置文件,也就是localhost那一段的端口是v2ray的端口,在安装好v2ray的过程中v2应该是启动的,所以我没有通过ps -e 查看v2的运行状态。

      解决办法: 1.reboot 重启VPS

      输入ps -e查询v2ray是否运行
      3.如果未运行则输入 service v2ray start

      4.如上述未解决,请更换系统操作试试看

  7. icespire icespire

    博主你好,进行到这一步的时候,nginx总是启动不了,也是bwh+centos7,请问是什么原因。。。谢谢 ̄﹃ ̄
    [root@SS oneinstack]# service nginx restart
    Restarting nginx (via systemctl): Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    [FAILED]

    [root@SS oneinstack]# systemctl status nginx.service
    ● nginx.service - SYSV: NGINX is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
    Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
    Active: failed (Result: exit-code) since Wed 2018-03-21 10:01:20 CST; 1min 18s ago

    Docs: man:systemd-sysv-generator(8)

    Process: 738 ExecStop=/etc/rc.d/init.d/nginx stop (code=exited, status=0/SUCCESS)
    Process: 1188 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=1/FAILURE)
    Main PID: 430 (code=exited, status=0/SUCCESS)

    Mar 21 10:01:20 SS systemd[1]: Starting SYSV: NGINX is an HTTP(S) server, HTTP(S......
    Mar 21 10:01:20 SS nginx[1188]: Starting nginx: nginx: [emerg] unknown directive...:30
    Mar 21 10:01:20 SS nginx[1188]: [FAILED]
    Mar 21 10:01:20 SS systemd[1]: nginx.service: control process exited, code=exite...s=1
    Mar 21 10:01:20 SS systemd[1]: Failed to start SYSV: NGINX is an HTTP(S) server,...er.
    Mar 21 10:01:20 SS systemd[1]: Unit nginx.service entered failed state.
    Mar 21 10:01:20 SS systemd[1]: nginx.service failed.
    Hint: Some lines were ellipsized, use -l to show in full.

    1. @icespire这是因为oneinstack去除了之前的单域名证书,改成绩泛域名证书,你没有设置域名的DNS之中的key。进入oneinstack官网找到常见问题就能看到解决办法

  8. 这是一个测试38461 bd3c19f0-2280-4dc1-b98d-01ef0fd28dae

  9. SWmo SWmo

    2ray.service - V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: disabled)
    Active: active (running) since Tue 2019-06-04 23:50:53 CST; 8s ago
    Main PID: 2468 (v2ray)
    CGroup: /system.slice/v2ray.service

    └─2468 /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json

    Jun 04 23:50:53 iZj6c44yr9lrm8egu23hbfZ systemd[1]: Started V2Ray Service.
    Jun 04 23:50:53 iZj6c44yr9lrm8egu23hbfZ systemd[1]: Starting V2Ray Service...
    Jun 04 23:50:53 iZj6c44yr9lrm8egu23hbfZ v2ray[2468]: V2Ray 4.19.1 (Let's Fly) Custom
    Jun 04 23:50:53 iZj6c44yr9lrm8egu23hbfZ v2ray[2468]: A unified platform for anti-cen....
    Jun 04 23:50:53 iZj6c44yr9lrm8egu23hbfZ v2ray[2468]: 2019/06/04 23:50:53 [Warning] v...d
    Hint: Some lines were ellipsized, use -l to show in full.
    无法连接,想问问这是为什么

  10. ethan ethan

    root@warm-fan-2:~# ee site create rensheng62.top --html --letsencrypt
    Adding repository for NGINX, please wait...
    Updating apt-cache, please wait...
    Oops Something went wrong!!
    Check logs for reason tail /var/log/ee/ee.log & Try Again!!!

    输入这一行 ee site create example.com --html --letsencrypt
    的时候 改了自己域名 也是这个错误 不知道咋处理

    1. @ethan这时候只能重装再尝试下了

    2. @ethan按道理应该是缓存,如果还是不行的话就重装下系统吧

  11. ETA ETA

    修改 vhost 文件 步骤的:

    vi /usr/local/nginx/conf/vhost/www.yourdomain.com.conf

    这里的 www.yourdomain.com 是指自己的域名吧?

    1. @ETA自己的域名

  12. 老猫咪 老猫咪

    [root@vultr ~]# service nginx restart
    Redirecting to /bin/systemctl restart nginx.service
    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
    重启nginx老出现这个错误怎么回事呀?