[教程]一个服务器安装了 frps,占用了 80、443 端口,怎么继续使用 80、443 端口建站呢? 一个解决办法

8 天前
 muzihuaner

安装 Caddy-Docker

docker run -d --name caddy -p 8080:80 -p 8443:443 \
  -v /etc/caddy/Caddyfile:/etc/caddy/Caddyfile \
  -v /var/www:/usr/share/caddy \
  caddy

配置 FRP

serverAddr = "127.0.0.1"
serverPort = 7000
auth.method = "token"
auth.token = "passwd"

[[proxies]]
name = "test-web"
type = "https"
localIP = "127.0.0.1"
localPort = 8443
customDomains = ["test.abc.com"]

编辑/etc/caddy/Caddyfile


//反向代理
test.abc.com {
    reverse_proxy 127.0.0.1:8008
}


//静态网站
test.abc.com {
    root * /usr/share/caddy/test.abc.com
    file_server
}
//使用 80 http
http://test.abc.com {
    reverse_proxy 127.0.0.1:8008
}

这样访问 https://test.abc.com 就可以使用 443 端口了 大神们还有什么更好的方法么?

557 次点击
所在节点    分享发现
8 条回复
puzzle9
8 天前
frps 定位是端口映射
置于用那个服务器端口 不影响啊

caddy 和 nginx 这种 定位是反代
用那个端口 也不影响啊 只是大家几乎都使用了 http 的端口

所以 你问题在那
muzihuaner
8 天前
@puzzle9 在同一台服务器上同时安装 frps 和 frpc
Need4more
8 天前
好迷的操作。

我觉得是你把两个组件用乱了,没弄清楚他们的功能。

caddy 负责自动 https, frp 就只负责端口转发和 http 功能

说下我怎么做的吧

frps 有个 vhostHTTPPort 配置,你随便绑定个非 80 443 端口,比如说 5000

caddy 配置:
test.abc.com {
reverse_proxy 127.0.0.1:5000
}

你的 frpc 配置:
[[proxies]]
name = "test-web"
type = "http" // 让 caddy 负责 https
localIP = "127.0.0.1"
localPort = 8443
customDomains = ["test.abc.com"]

这样就实现了 https 访问你本地的 127.0.0.1:8443

数据流:
用户访问 test.abc.com -> caddy( https) -> localhost:5000(frps) -> local:8443
iceheart
8 天前
用 traefik
muzihuaner
7 天前
@Need4more 我的服务器上 frps 是主业务,web 网页是附属的,其实没有区别😂
muzihuaner
7 天前
@iceheart 好东西,又发现了新大陆🤗
muzihuaner
7 天前
@Need4more
用户浏览器
|
| (HTTPS) 请求 test.abc.com
v
服务器:443 (FRPS) [监听 443 端口]
|
| (根据域名 test.abc.com 找到代理,通过 frp 协议转发)
v
本地 frpc 客户端 [连接 FRPS 的控制端口 7000 ,并等待转发请求]
|
| (HTTP) 请求 test.abc.com 转发到 localhost:8080
v
Caddy:8080 [提供静态文件]
|
| 响应
v
沿原路返回 (frpc -> FRPS -> 用户)
muzihuaner
7 天前
@Need4more 你这种方案倒是也行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1141806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX