新博客搭建(Trojan/WP 共用端口)
本文最后更新于 1139 天前,其中的信息可能已经有所发展或是发生改变。

前言

  • 出于去年搭建好后一直没有使用的使用 hexo 搭建的博客(使用 github page),网站打开速度过于迅速,即使按照网上所说使用 cloudflare 加速,依旧没有改善。虽然了解到可以通过 git 设置可以将 hexo 发布到自己的服务器上,但我想都用服务器了,还用静态网站,一想还是用 WP 重新搭一个,正好还了解一些其它的东西。
  • 其中最大的问题是服务器只有一台(钱的问题),而我本来之前服务器就只是用来搭个梯子,顺带学习下 linux 的一些基础知识,而梯子我偏好使用 trojan,而 trojan 实现的方式又是通过模仿正常流量达到不被 GWF 发现,即使用 https。而恰好网站要使用安全认证,同样要使用 https。
  • 即它们都要使用 443 端口,通过查找,网上已经有人实现过,便参照自己实现了一下,本文主要讲使用,详细原理请参照该文章

    以下部分资料引用自该博客,链接赋予文章末。

技术基础

工作架构

架构图

即通过 Nginx 代理实现识别 443 端口流量,进一步进行分发。

SNI

SNI(TLS 服务器名称指示),它要求在一个 IP 有多个 TLS 服务站点的情况下,客户端在初始 TLS 握手期间指定要连接到哪个站点,数据上的实现就是在 Client Hello 阶段里面新增一个 server_name 字段。

认证图

SNI 四层转发

Nginx 支持基于 SNI 的 4 层转发。简单说就是:识别 SNI 信息,然后直接转发 TCP/UDP 数据流。这个可以比 7 层的虚拟主机转发厉害太多了,该功能由 ngx_stream_ssl_preread_module 模块提供,但是 Nginx 默认不启用该模块,配置起来也很简单,需要注意的是该模块属于 stream ,不是大家常用的 http。

具体使用

核心-nginx 配置

    stream {
        # 这里就是 SNI 识别,将域名映射成一个配置名
        map $ssl_preread_server_name $backend_name {
            xycd.space web;
            trojan.xycd.space trojan;
        # 域名都不匹配情况下的默认值
            default web;
        }

        # web,配置转发详情
        upstream web {
            server 127.0.0.1:44300;
        }

        # trojan,配置转发详情
        upstream trojan {
            server 127.0.0.1:43301;
        }

        # 监听 443 并开启 ssl_preread
        server {
            listen 443 reuseport;
            listen [::]:443 reuseport;
            proxy_pass  $backend_name;
            ssl_preread on;
        }
    }

在此处实现对 443 端口的监听以及对流量的分发

网站配置

server
    {
        listen 80;
        listen 44300 ssl http2;
        server_name xycd.space blog.xycd.space;
        index index.php index.html index.htm default.php default.htm default.html;
        root /www/wwwroot/xycd.space;

即修改网站端口,使之对应于 Nginx 分发的配置端口。

trojan 配置

   {
       "run_type": "server",
       "local_addr": "127.0.0.1",
       "local_port": 43301,
       "remote_addr": "127.0.0.1",
       "remote_port": 80,

即修改 trojan 端口,使之对应于 Nginx 分发的配置端口。

最终效果

最终所有服务在服务器上的运行情况

端口运行

参考文章

-Trojan 共用 443 端口方案-程小白

文章作者:XY
文章链接:https://notoop.com/archives/trojan-wordpress/
版权声明:本文版权归作者所有,欢迎转载,但转载请注明来自本博客X to Y‘Blog
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
error: Content is protected !!