在宝塔上制作酸酸乳
是不是觉得花了好多美元买的境外服务器,只放一个 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!