在宝塔上制作酸酸乳

2020-05-07
2020-05-07
3 min read
Hits

  是不是觉得花了好多美元买的境外服务器,只放一个 Trojan 太过浪费?想要将境外服务器利用起来?

  那你就来对了,本文就介绍了如何在安装了宝塔的服务器上,再搭建一个 Trojan。

  让你在能酣畅淋漓满世界转悠的时候,还能建个站玩玩,充分利用服务器资源。

  博主有幸成功申请到了 Oracle 的两台永久免费的服务器,但苦于服务器位于日本,建站以后国内访问速度感人。想要建几个站学习,但又买不起境内的服务器,所以只能“出此下策”:将宝塔与 Trojan 相结合,达到既能利用服务器建站,又能充分利用服务器资源。

本文需要 Trojan 使用经验,若未曾搭建过 Trojan,请先学习:《Build Trojan(制作“保质期长的”酸酸乳)》

准备工作

一台服务器

  建议选择与博主一样的系统版本进行搭建:搬瓦工 Centos 7 x86_64 bbr

友情提示:搬瓦工 可能需要先翻墙才可访问!

一个域名

  任意纯英文域名皆可。域名类型与系统搭建无关,建议使用纯英文域名。博主多年使用感受,推荐在 阿里云域名注册 注册域名,并使用免费的 阿里云解析 对域名进行解析。另外有其它建站需求的朋友,可点击 阿里云·云小站 领取优惠券。

域名解析

  将你的域名解析至你的服务器,即添加主域名 A 记录指向服务器 IP(只需添加 @ 的主域名解析就行,无须添加 www 等的二级域名解析)

服务器端操作

安装宝塔

  建议安装最新版宝塔,故请移步 宝塔官网,获取安装链接及使用教程。

安装 Trojan

搭建网站

  登录宝塔,用刚刚解析至服务器的域名搭建一个网站。

申请 SSL 证书

  通过 阿里云云盾证书,申请 SSL 证书,并绑定至宝塔的站点。

绑定了 SSL 证书后,要在宝塔面板关闭 SSL!否则可能导致 Trojan 无法正常使用!

运行脚本

  在服务器运行如下脚本

bash <(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)

配置服务器端 Trojan

  安装完 Trojan 后,进行配置

vi /usr/local/etc/trojan/config.json

  修改密码及域名信息如下

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "**自定义密码**",
        "**自定义密码**"
    ],
    "log_level": 1,
    "ssl": {
        "cert": "/www/server/panel/vhost/ssl/**你的域名**/fullchain.pem",
        "key": "/www/server/panel/vhost/ssl/**你的域名**/privkey.pem",
        "key_password": "",
        "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
        "cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
        "prefer_server_cipher": true,
        "alpn": [
            "http/1.1"
        ],
        "alpn_port_override": {
            "h2": 81

Trojan 服务

systemctl restart trojan     # 重启 Trojan 服务
systemctl status trojan     # 查看 Trojan 服务状态
systemctl enable trojan     # 设置开机自启

本地操作

修改本地 Trojan 配置

  搭建过 Trojan 的朋友应该不难发现(还没搭建过 Trojan 或者没有本地工具的请先学习:《Build Trojan(制作“保质期长的”酸酸乳)》),本地 Trojan 工具包里的 “config.json” 就是 Trojan 的配置文件,我们修改了服务器上的 Trojan 配置,当然还要同步修改本地的 Trojan 配置。打开“config.json”,按如下修改

{
    "run_type": "client",
    "local_addr": "127.0.0.1",
    "local_port": 1080,
    "remote_addr": "**你的域名**",
    "remote_port": 443,
    "password": [
        "**自定义密码**"
    ],
    "log_level": 1,
    "ssl": {
        "verify": true,
        "verify_hostname": true,
        "cert": "fullchain.cer",
        "cipher_tls13":"TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
"sni": "",
        "alpn": [
            "h2",
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "curves": ""
    },
    "tcp": {
        "no_delay": true,
        "keep_alive": true,
        "fast_open": false,
        "fast_open_qlen": 20
    }
}

修改 fullchain.cer

  还记得我们一开始在 阿里云云盾证书 申请的 SSL 证书吗?将“.pem”文件更名为“fullchain.cer”,并替换 Trojan 工具中的“fullchain.cer”。就大功告成啦!

经过博主多次实践,nginx 的 SSL 会和 Trojan 相冲突,所以如果要使用 Trojan,还想正常搭建网站,就不能开启 SSL 功能。所有的网站都不能加 SSL!

Avatar

Hui.Ke

❤ Cyber Security | Safety is a priority.