[GH-ISSUE #397] 用frp的https代理出现错误:[W] [vhost.go:129] get hostname from http/https request error: readHandshake: type[110] is not clientHello #294

Closed
opened 2026-05-05 12:05:50 -06:00 by gitea-mirror · 4 comments
Owner

Originally created by @zc57520 on GitHub (Jul 11, 2017).
Original GitHub issue: https://github.com/fatedier/frp/issues/397

What version of frp are you using (./frpc -v or ./frps -v)?
frp_0.12.0_linux_amd64

What operating system and processor architecture are you using (go env)?
64位ubuntu系统

Configures you used:
client端
[common]
server_addr = xx.xx.xx.xx
server_port = 7000

[web]
type = https
local_port = 443
custom_domains = xx.xx.xx.xx
(server_addr和custom_domains一样的,我用的亚马逊云,没有域名)

server端
[common]
bind_port = 7000
vhost_https_port = 8080

Steps to reproduce the issue:
1.服务端起来
2.客户端也起来,连接正常
3.我通过web浏览器访问https://xx.xx.xx.xx.xx:8080就会报错

Describe the results you received:
错误如下:
[W] [vhost.go:129] get hostname from http/https request error: readHandshake: type[110] is not clientHello

Describe the results you expected:
我希望通过https代理可以正常访问。

Additional information you deem important (e.g. issue happens only occasionally):

我用http的80端口代理是正常的
Can you point out what caused this issue (optional)
https代理哪里出了问题。

Originally created by @zc57520 on GitHub (Jul 11, 2017). Original GitHub issue: https://github.com/fatedier/frp/issues/397 **What version of frp are you using (./frpc -v or ./frps -v)?** frp_0.12.0_linux_amd64 **What operating system and processor architecture are you using (`go env`)?** 64位ubuntu系统 **Configures you used:** client端 [common] server_addr = xx.xx.xx.xx server_port = 7000 [web] type = https local_port = 443 custom_domains = xx.xx.xx.xx (server_addr和custom_domains一样的,我用的亚马逊云,没有域名) server端 [common] bind_port = 7000 vhost_https_port = 8080 **Steps to reproduce the issue:** 1.服务端起来 2.客户端也起来,连接正常 3.我通过web浏览器访问https://xx.xx.xx.xx.xx:8080就会报错 **Describe the results you received:** 错误如下: [W] [vhost.go:129] get hostname from http/https request error: readHandshake: type[110] is not clientHello **Describe the results you expected:** 我希望通过https代理可以正常访问。 **Additional information you deem important (e.g. issue happens only occasionally):** 我用http的80端口代理是正常的 **Can you point out what caused this issue (optional)** https代理哪里出了问题。
Author
Owner

@fatedier commented on GitHub (Jul 12, 2017):

先确认下你的 web 服务的 ssl 证书配置是否正确。

frp 里不提供关于证书的配置和解析功能,仅通过域名来路由转发 https 请求。需要你自己搭建好可以正常访问的 https 服务。

<!-- gh-comment-id:314787584 --> @fatedier commented on GitHub (Jul 12, 2017): 先确认下你的 web 服务的 ssl 证书配置是否正确。 frp 里不提供关于证书的配置和解析功能,仅通过域名来路由转发 https 请求。需要你自己搭建好可以正常访问的 https 服务。
Author
Owner

@huiqiangyang commented on GitHub (Jan 10, 2018):

终于找到https配置的相关的说明了,翻了好多issue
frp 里不提供关于证书的配置和解析功能,仅通过域名来路由转发 https 请求。需要你自己搭建好可以正常访问的 https 服务

<!-- gh-comment-id:356503740 --> @huiqiangyang commented on GitHub (Jan 10, 2018): 终于找到https配置的相关的说明了,翻了好多issue **frp 里不提供关于证书的配置和解析功能,仅通过域名来路由转发 https 请求。需要你自己搭建好可以正常访问的 https 服务**
Author
Owner

@cnlinjie commented on GitHub (Feb 13, 2019):

nginx 配置https之后,直接转发到 frp 的http 端口,不需要,https .

vhost_http_port 转到这里
vhost_https_port 这个也配置,但是不用

<!-- gh-comment-id:463078454 --> @cnlinjie commented on GitHub (Feb 13, 2019): nginx 配置https之后,直接转发到 frp 的http 端口,不需要,https . vhost_http_port 转到这里 vhost_https_port 这个也配置,但是不用
Author
Owner

@LaiACaiJi commented on GitHub (Jun 20, 2019):

两种结构:

第一种客户端到公网服务器走HTTPS,公网服务器反向代理(通过frp通道)到本地服务器(内网主机)走http;
第二种客户端到公网服务器 直接通过端口映射走frp通道连接内网服务器【注意这种方式不经过公网服务器的nginx,相当于内网服务器直接通过frp通道监听公网服务器的一个端口】

<!-- gh-comment-id:503936898 --> @LaiACaiJi commented on GitHub (Jun 20, 2019): ### 两种结构: 第一种客户端到公网服务器走HTTPS,公网服务器反向代理(通过frp通道)到本地服务器(内网主机)走http; 第二种客户端到公网服务器 直接通过端口映射走frp通道连接内网服务器【注意这种方式不经过公网服务器的nginx,相当于内网服务器直接通过frp通道监听公网服务器的一个端口】
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#294
No description provided.