上期視頻我們講到了如何利用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服務
- systemctl restart trojan
10、搭建和設置完畢
現在,你就可以連接你的Trojan節點了,網站也可以正常的訪問了。
后記
本站所有文章禁止轉載至大陸地區可訪問的網站,相關的法律責任作者無須言明。此申明需請爛熟於心。龍的傳人需自律,有損國家利益和民族團結的事情,堅決不做!望各位珍重!