Trojan+寶塔面板,完美運行!


 

上期視頻我們講到了如何利用Nginx的SNI來分流Trojan的相關流量。間接實現了建站和Trojan完美運行。視頻觀看地址:點擊播放

視頻發布以后,很多小伙伴在咨詢寶塔面板+Trojan的搭建方式,需要和網站一起穩定的運行。

其實上期視頻作者也是拋磚引玉,希望大家衍生出更多的玩法。既然原理在哪兒,我們實現起來就很簡單了。

這期的教程原理依然是引用的 “程小白” 的 “Trojan共用443端口方案” 這篇文章。

本期視頻教程:點擊播放

實現原理

在上期的博客內容中,作者也是寫的很詳細了 Trojan+Nginx+WordPress個人博客,共用443端口!

大家看到下面的這批代碼,應該就能理解了。

# 流量轉發核心配置
stream {
# 這里就是 SNI 識別,將域名映射成一個配置名
map $ssl_preread_server_name $backend_name {
建站的域名 web;
訪問V2y服務的域名 vmess;
訪問Trojan服務的域名 trojan;
# 域名都不匹配情況下的默認值
default web;
}
 
# web,配置轉發詳情
upstream web {
server 127.0.0.1:10240;
}
 
# trojan,配置轉發詳情
upstream trojan {
server 127.0.0.1:10241;
}
 
# vmess,配置轉發詳情
upstream vmess {
server 127.0.0.1:10242;
}
 
# 監聽 443 並開啟 ssl_preread
server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $backend_name;
ssl_preread on;
}
}

  

准備工作

1、VPS一台內存最好1GB左右,重置任意可安裝寶塔面板的系統(建站推薦CentOS7X以上,或者是CentOS8X)

2、一級域名一個做好相應的解析(今天作者解析的域名為:V2yssr.net , www.V2yssr.net)

(分別解析主域名和www的二級域名到VPS主機。)

實現的效果

我們訪問 V2yssr.net 及 www.V2yssr.net 均能使用 https 的方式,也就是正常訪問我們的博客。

使用Trojan客戶端連接 www.V2yssr.net 可以正常上網。

教程開始

1、連接VPS並安裝寶塔面板

以下一鍵安裝寶塔面板的代碼僅僅局限CentOS系統的用戶,其他用戶請訪問 這里 查看安裝命令

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

  

安裝完畢以后,請自行記錄寶塔面板的登錄地址,並登錄寶塔面板。

2、安裝建站需要的必要插件

登錄以后,在彈出的窗口環境中選擇自己需要安裝的環境。

(若是使用 WordPress 的博客,請依次安裝 Nginx1.18、MySQL5.6、PHP7.4,其他非必要環境作者不想安裝就略過了)

3、創建網站

因為作者使用 WordPress 博客的 CMS,所以選擇寶塔的一鍵部署。

分別點擊 “軟件商店” – “一鍵部署” ,找到 WordPress 並選擇一鍵部署,填寫我們剛才解析好的兩個域名。

4、設置網站數據庫並配置網站

部署完畢以后,輸入我們綁定的域名進行數據庫配置及網站設置。不明白請查看 視頻教程

5、修改默認的 Nginx 配置

找到 “軟件商店” – “已安裝” – “Nginx1.18”,設置 Nginx 的配置信息

在 http 模塊前面增加如下代碼,按照自己的需求進行更改:

stream {
# 這里就是 SNI 識別,將域名映射成一個配置名
map $ssl_preread_server_name $backend_name {
V2yssr.net web;
www.V2yssr.net trojan;
# 域名都不匹配情況下的默認值
default web;
}
 
# web,配置轉發詳情
upstream web {
server 127.0.0.1:4433;
}
 
# trojan,配置轉發詳情
upstream trojan {
server 127.0.0.1:10110;
}
 
# 監聽 443 並開啟 ssl_preread
server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $backend_name;
ssl_preread on;
}
}

  

6、在線申請 SSL 證書

在網站設置里面,勾選兩個綁定的域名,並為其申請 SSL 證書和開啟強制 Https 的訪問。

7、修改網站的Nginx配置文件

在網站設置里面開啟 “偽靜態” 為 WordPress ,然后轉到配置文件設置。

刪除在 server 模塊下面的 server_name 里面的 二級域名,只保留主域名 不會請看 視頻教程

更改 server 模塊下面的443端口為 4433。

在原有的 server 模塊下面增加如下代碼(請自行替換域名)

server
{
listen 10111;
server_name www.V2yssr.net;
location / {
if ($http_host !~ "^V2yssr.net$") {
rewrite ^(.*) https://V2yssr.net$1 permanent;
}
 
if ($server_port !~ 4433){
rewrite ^(.*) https://V2yssr.net$1 permanent;
}
 
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log logs/aaa.com_access.log;
}

  

更改完畢以后,請回到 Nginx 設置界面,重啟 Nginx 服務。

8、安裝官方Trojan服務

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"

  

設置Trojan開啟自動啟動

systemctl enable trojan #設置Trojan開啟自動啟動

  

9、修改Trojan配置文件

找到VPS以下文件 /usr/local/etc/trojan/config.json 修改為如下代碼:(自行更改密碼和域名證書路徑)

{
"run_type": "server",
"local_addr": "127.0.0.1",
"local_port": 10110,
"remote_addr": "127.0.0.1",
"remote_port": 10111,
"password": [
"321321321"
],
"log_level": 1,
"ssl": {
"cert": "/www/server/panel/vhost/cert/V2yssr.net/fullchain.pem",
"key": "/www/server/panel/vhost/cert/V2yssr.net/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
},
"reuse_session": true,
"session_ticket": false,
"session_timeout": 600,
"plain_http_response": "",
"curves": "",
"dhparam": ""
},
"tcp": {
"prefer_ipv4": false,
"no_delay": true,
"keep_alive": true,
"reuse_port": false,
"fast_open": false,
"fast_open_qlen": 20
},
"mysql": {
"enabled": false,
"server_addr": "127.0.0.1",
"server_port": 3306,
"database": "trojan",
"username": "trojan",
"password": "",
"key": "",
"cert": "",
"ca": ""
}
}

  

更改完畢以后,上傳並保存,然后重啟Trojan服務

  1. systemctl restart trojan

10、搭建和設置完畢

現在,你就可以連接你的Trojan節點了,網站也可以正常的訪問了。

后記

本站所有文章禁止轉載至大陸地區可訪問的網站,相關的法律責任作者無須言明。此申明需請爛熟於心。龍的傳人需自律,有損國家利益和民族團結的事情,堅決不做!望各位珍重!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM