Frp 内网穿透后,怎么通过同一域名+SSL+不同端口来访问?

2023-10-17 11:21:29 +08:00
 charce

因为群晖没有公网 IP ,所以使用 Frp 进行内网穿透。

目前 Frp 已经能够实现IP+端口进行访问,但是 Frp 要进行 http 访问只能是“不同的域名+相同的端口”进行访问。

我希望能保持“相同的域名+不同的端口”来进行访问,同时加上SSL 证书

有尝试过在服务器再加上反代的方式来访问,但是都不能实现我想要的效果。

请教各位大神这个要怎么弄?

流程图示意如下:

3539 次点击
所在节点    NAS
37 条回复
JamesR
2023-10-17 11:38:36 +08:00
1.公网服务器上面配个 Apache 。
2.Apache 配置多个虚拟主机(域名相同,基于端口不同的)。
3.每个虚拟主机配置反向代理,代理本地 Frp 穿透好的端口。

需要学习下 Apache 的安装,虚拟主机和 SSL 的配置。
PXW139
2023-10-17 11:41:27 +08:00
这不 nginx 反代一下就可以,每个服务一个配置文件就行
flashBee233
2023-10-17 11:51:41 +08:00
可以参考一下我的这个配置,我这也是自己摸索的,如有不对请指点
flashBee233
2023-10-17 11:51:47 +08:00
PXW139
2023-10-17 11:52:49 +08:00
哦,应该还有更简单的,直接一个配置文件搞定
同时监听所有提供服务的端口,判断入口端口,对应到目标端口完事
if ( $server_port = 5679 ){ set $my_port 5678;}
反代里面
proxy_pass http://127.0.0.1:$my_port;
opengps
2023-10-17 12:11:35 +08:00
反代为什么达不到你要的效果?哪一点卡住的?
ysc3839
2023-10-17 12:14:51 +08:00
在 NAS 上设置 https ,监听不同端口,frp 只进行端口转发即可。
skyzwb
2023-10-17 12:15:58 +08:00
很简单在你公有云服务器上安装一个 nginx Proxy Manager ,然后配置就行了,很简单证书也能一件申请
oneisall8955
2023-10-17 12:19:22 +08:00
7 楼和我的想法一致
hyperbin
2023-10-17 12:19:55 +08:00
弄个*.domain.com 的证书,然后 ngnix 到子域名,访问时 a.domain.comb.domain.com 就是不同的服务了
superchijinpeng
2023-10-17 12:21:48 +08:00
caddy 直接配
guanzhangzhang
2023-10-17 12:27:37 +08:00
你搞组网后,直接三层就通了就没这么多事情了
y1y1
2023-10-17 12:28:32 +08:00
反代
ryc111
2023-10-17 12:36:15 +08:00
讲一个我自己目前搞的方式:
- frp -> 一堆端口 ( serv1:10001 ,serv2:10002 ,serv3: 10003 ,serv4: 10004....) FYI,我目前转用了 rathole ,可以映射到 vps 的 127.0.0.1,而不是暴露在外。
- 证书申请的时候设置泛域名: 使用 *.your.domain
- 使用 nginx/caddy/etc 对于各个服务进行反代:
serv1.your.domain -> 10001 ... 以此类推

更简单的方法就是用 frpc 的 vhostHTTPSPort 。但是这样的话就需要自己管理证书,也可以自签名。
devliu1
2023-10-17 12:49:40 +08:00
1. https 可以在反代配置

2. frp 多配置几个端口就好,一个端口也行,反代通过 host 判断

3. 如果反代部署在本地,端口通过 FRP 暴露在远程,是获取不到用户 IP 真实的(因为是通过 frpc 连接的反代),可以配置 proxy protocol
linuxgo
2023-10-17 14:29:33 +08:00
我用过 nps 是同一域名指定不同端口访问
charce
2023-10-17 14:39:57 +08:00
@flashBee233 我看了你的配置文件,是通过多个子域名来访问的,跟我想要的不太一样。
因为我同时有用 ipv6 在访问,所以才会想要保持同一个域名,这样证书管理也简单一点。
charce
2023-10-17 14:40:18 +08:00
@ryc111 @flashBee233 我看了你的配置文件,是通过多个子域名来访问的,跟我想要的不太一样。
因为我同时有用 ipv6 在访问,所以才会想要保持同一个域名,这样证书管理也简单一点。
charce
2023-10-17 14:42:02 +08:00
@ysc3839
@oneisall8955 如果在 NAS 上面设置 https ,访问的依然是 frps 的公网 IP 啊,不太明白要怎么操作,请赐教
charce
2023-10-17 14:45:24 +08:00
@hyperbin 因为我同时也用 ipv6 访问,为了保持统一不想搞太多子域名,所以才会想要保持同一个域名+多个不同端口的方式。

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

https://www.v2ex.com/t/982693

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

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

© 2021 V2EX