在docker中使用caddy和trojan-go搭建网络代理服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在docker中使用caddy和trojan-go搭建网络代理服务相关的知识,希望对你有一定的参考价值。
参考技术A 关闭防火墙更新索引和相关依赖
创建 /var/www/html 目录存放 index.html 网页文件
创建 /etc/caddy 目录存放 Caddyfile 配置文件
创建 /etc/trojan-go 目录存放 config.json 配置文件
安装 acme.sh ,将 my@example.com 替换为你自己的邮件
安装 socat ,使用 acme.sh 申请证书必须安装它
申请证书,将 example.com 替换为你自己的域名,并保证 80 端口没有被占用
安装证书,将 example.com 替换为你自己的域名,将 server.key 和 server.crt 文件安装在 /etc/trojan-go 目录中
升级 acme.sh
卸载旧版本容器
更新索引和相关依赖
信任公钥
添加软件仓库
安装 docker
在 docker 中部署 caddy 来搭建网站伪装 trojan-go 程序,在 /var/www/html 目录下创建 index.html 网页文件
在 /etc/caddy 目录下创建 Caddyfile 配置文件
启动 caddy ,这时你可以通过 ip 来访问网站了
在 docker 中部署 trojan-go 实现网络代理服务,在 /etc/trojan-go 目录下创建 config.json 配置文件,将配置文件中的 password 替换为你自己的密码,将配置文件中的 example.com 替换为你自己的域名
启动 trojan-go 容器,这时你可以通过客户端连接它实现网络代理了,访问 youtube.com 看看是不是可以看视频了
Caddy reverse_proxy 和 React 路由器
【中文标题】Caddy reverse_proxy 和 React 路由器【英文标题】:Caddy reverse_proxy and React Router 【发布时间】:2021-09-21 07:06:05 【问题描述】:我无法设置我的 Caddyfile
以使用 React SPA 应用程序,这样
-
React 路由路由工作
对
/api/
(例如/api/foo
)的调用被反向代理到另一个位置
使用下面我当前的Caddyfile
,React 路由器似乎正在工作(访问mysite.com/faq
不会给出 404)但对 API 后端的调用(例如 mysite.com/api/foo
)似乎正在尝试加载 React 路由器路由.
我们如何解决这个问题Caddyfile
?
www.example.com
redir https://example.comuri
example.com
root * /root/example/frontend/build
file_server
encode gzip zstd
reverse_proxy /api/* api.example.com:8000
try_files path /index.html
tls admin@example.com
log
output file /root/example/logs/access.log
roll_size 100mb
roll_keep 5
roll_keep_for 720h
更新:这个Caddyfile
也不起作用,React 路由器不再起作用,访问https://example.com/faq
时收到错误 404。但是,反向代理似乎正在工作:当我们访问 https://example.com/api/foo
时,API 服务器正在获得点击,但它错误地将它们作为 http://api.example.com:8000/api/foo
而不是 http://api.example.com:8000/foo
www.example.com
redir https://example.comuri
example.com
root * /root/example/frontend/build
file_server
encode gzip zstd
reverse_proxy /api/* api.example.com:8000
@notAPI
not
path /api/*
file
try_files path path/ /index.html?query
rewrite @notAPI http.matchers.file.relative
tls admin@example.com
log
output file /root/example/logs/access.log
roll_size 100mb
roll_keep 5
roll_keep_for 720h
使用 Caddy v2.4.3
使用caddy start --config ~/foo/Caddyfile
启动Caddy
【问题讨论】:
【参考方案1】:我得到了以下工作:
http://localhost
root * ./trial-ui
route
reverse_proxy /api/* http://127.0.0.1:8080
try_files path /index.html
file_server
【讨论】:
以上是关于在docker中使用caddy和trojan-go搭建网络代理服务的主要内容,如果未能解决你的问题,请参考以下文章