
让你的源站服务器伪装成普通http服务器
准备工作
- 安装好docker
- 准备好域名、做好解析、申请好证书
- 安装nginx
安装
创建配置文件存储目录
1
| mkdir -p /etc/shadowsocks-libev
|
使用vim打开/etc/shadowsocks-libev/config.json
1 2 3 4 5 6 7 8 9 10 11 12
| { "server":"127.0.0.1", "server_port":2052, "password":"P@ssword2023", "timeout":300, "method":"aes-128-gcm", "fast_open":false, "nameserver":"1.0.0.1", "mode":"tcp_and_udp", "plugin":"v2ray-plugin", "plugin_opts":"server;path=/admin;loglevel=none" }
|
配置说明:
- port、password、path可以自定义
- port、path需与接下来的nginx配置中保持一致
- 很多vps默认防火墙全开的,ss只监听了本地的端口,没有开放到公网
- nameserver可以自定义,尽量用国外的吧
拉取docker镜像
1
| docker pull teddysun/shadowsocks-libev
|
运行服务
1
| docker run -d --network host --name ss-libev --restart=always -v /etc/shadowsocks-libev:/etc/shadowsocks-libev teddysun/shadowsocks-libev
|
安装nginx
我的服务器是centos的,如果是Ubuntu安装命令有差异
启动nginx服务
查看nginx运行状态
查看状态如下
1 2 3 4 5 6 7 8 9 10 11 12
| ● nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/nginx.service.d └─network-online.conf, nofile.conf, oom-adjust.conf Active: active (running) since 四 2023-05-25 10:54:50 BST; 8 months 29 days ago Docs: http://nginx.org/en/docs/ Main PID: 25268 (nginx) Tasks: 2 Memory: 5.7M CGroup: /system.slice/nginx.service ├─ 6931 nginx: worker process └─25268 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
|
- 创建proxy配置,/etc/nginx/conf.d/ss.conf
1
| vim /etc/nginx/conf.d/ss.conf
|
配置内容如下
配置中的证书文件可以是自己提前申请的,我这里使用的是acme.sh自动申请和更新证书
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| server { listen 443 ssl; server_name admin.domain.com; ssl_certificate /存放证书的路径/domain.com.cer; # pem文件的路径 ssl_certificate_key /存放证书的路径domain.com.key; # key文件的路径 ssl_session_timeout 5m; #缓存有效期 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议 ssl_prefer_server_ciphers on; #使用服务器端的首选算法 location /admin { if ($http_upgrade != "websocket") { return 404; } proxy_redirect off; proxy_pass http://127.0.0.1:2052; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
}
|
重新载入nginx配置
客户端配置

根据自己系统选择对应的插件
把解压出来的文件重命名为v2ray-plugin,并移动到ss的文件夹(以windows为例)

配置ss客户端

插件程序名字要和前面下载并重命名的保持一致,去掉.exe后缀
插件选项可以参考下面的配置
1
| tls;path=/admin;host=ss.domain.com;loglevel=none
|
这里有一个path和host需要注意,和前面不一致会导致连接失败
扩展
- 除了v2ray-plugin还有xray_plugin
- 因为走的事https协议,可以在前面加CDN来隐藏源服务器的IP
- PAC规则不友好或者不想开代理的访问ChatGPT的时候可以专门下载一个chrome的开发版本配合SwitchyOmega插件,这样打开开发版本的时候都是走代理的就不会出现忘记开代理的尴尬了