V2Ray安装记录

V2Ray

这里使用官方Linux 安装脚本

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

然后修改V2Ray配置文件

vi /etc/v2ray/config.json

将以下内容覆盖到config.json

{
    "inbound":{
        "port":10010,
        "listen":"127.0.0.1",
        "protocol":"vmess",
        "settings":{
            "clients":[
                {
                    "id":"uuid",
                    "alterId":64
                }
            ]
        },
        "streamSettings":{
            "network":"ws",
            "wsSettings":{
                "path":"/path"
            }
        }
    },
    "outbound":{
        "protocol":"freedom",
        "settings":{

        }
    }
}

然后

sudo systemctl restart v2ray.service

Caddy

mkdir /etc/caddy
wget https://github.com/mholt/caddy/releases/download/v0.11.0/caddy_v0.11.0_linux_amd64.tar.gz
tar zxvf caddy_v0.11.0_linux_amd64.tar.gz -C /etc/caddy caddy
chmod +x /etc/caddy/caddy
touch /etc/caddy/caddy.conf
vi /etc/caddy/caddy.conf

复制下面内容,然后粘贴进去

example.com
{
  tls me@example.com
  log /etc/caddy/caddy.log
  proxy /path 127.0.0.1:10010 {
    websocket
    header_upstream -Origin
  }
}

使用Supervisor守护Caddy

apt install supervisor
touch /etc/supervisor/conf.d/caddy.conf
vi /etc/supervisor/conf.d/caddy.conf

复制下面内容,然后粘贴进去

[program:caddy]
user=root
command=/etc/caddy/caddy -conf /etc/caddy/caddy.conf -agree
startsecs=1
startretries=100
autorstart=true
autorestart=true

更新配置命令:supervisorctl update all
启动:supervisorctl start caddy
重启:supervisorctl restart caddy
停止:supervisorctl stop caddy

Nginx

安装

apt install nginx

申请SSL证书

使用Nginx需要自己申请证书, 可以利用acme.sh申请免费SSL证书, 申请完成后将证书和密钥安装到/etc/v2ray

acme.sh --installcert -d example.com -d *.example.com --fullchainpath /etc/v2ray/v2ray.crt --keypath /etc/v2ray/v2ray.key --ecc

配置虚拟主机文件

touch /etc/nginx/sites-enabled/example.com.conf
vi /etc/nginx/sites-enabled/example.com.conf

复制下面内容,然后粘贴进去

server
    {
        listen 80;
        # listen [::]:80;
        server_name example.com;
        return 301 https://$host$request_uri;
        server_tokens off;
    }

server
    {
        listen 443 ssl http2 fastopen=128 reuseport;
        # listen [::]:443 ssl http2 fastopen=128 reuseport;
        server_name example.com;
        ssl_certificate /etc/v2ray/v2ray.crt;
        ssl_certificate_key /etc/v2ray/v2ray.key;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
        ssl_protocols TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
        add_header Strict-Transport-Security max-age=15768000;
        server_tokens off;
        ssl_stapling on;
        ssl_stapling_verify on;

        location / {
        try_files $uri $uri/ =404;
        }

        location /path {
          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_intercept_errors on;
          if ($http_upgrade = "websocket" ){
             proxy_pass http://127.0.0.1:10010;
          }
        }
    }

然后重启Nginx即可

service nginx restart
点赞
  1. woo说道:

    都用caddy了﹐怎么不直接让caddy自己 申请letsencrypt呢

    1. Crow说道:

      也可以让Caddy自动申请,只是我习惯用acme.sh,申请的野卡证书在别处也有用。

  2. choicky说道:

    find /etc -name domain 就能找到 caddy 自动申请的证书了。 acme 没必要了。

    caddy 有支持 systemd 的脚本,不需要supervisor。详见我的《ubuntu 安装caddy》

    https://itlaws.cn/post/caddy-installation-ubuntu/

    1. Crow说道:

      申请的证书在别处也有用,比如nginx v2ray的h2 此处只是大概记录一下申请野卡的步骤

      1. choicky说道:

        caddy 申请的证书也可以用在别处……

        1. Crow说道:

          caddy申请的是泛域名证书吗?

  3. TEXT说道:

    大佬能在代码后面做一些注释吗? :mrgreen:

    1. Crow说道:

      可以,哪里需要注释?

  4. 这不科学说道:

    小白问一句,这里 Nginx 的主要目的就是 SSL 证书?

    1. Crow说道:

      “Nginx的主要目的就是SSL证书” 看不懂你这句话的意思

      可以采用V2Ray+Caddy或者V2Ray+Nginx的组合,即Caddy/Nginx选一即可。其中Caddy会自动申请证书,Nginx则需要自己申请。

      1. 这不科学说道:

        谢谢解答,可能我表述的不太清楚,我一开始以为你这个教程整个需要 V2Ray+Caddy+Nginx,所以才问的为何需要 Nginx。
        现在明白了。
        再次感谢。

  5. 小学徒说道:

    请问没有域名怎么办?是不是要自己申请?用免费的还是收费的好?有介绍吗?

    1. Crow说道:

      域名免费收费没有区别,只要解析没问题没差别的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注