// Copyright 2019 fatedier, fatedier@gmail.com//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.package proxyimport ("strings""github.com/fatedier/frp/pkg/config""github.com/fatedier/frp/pkg/util/util""github.com/fatedier/frp/pkg/util/vhost")type HTTPSProxy struct {*BaseProxycfg *config.HTTPSProxyConf}func (pxy *HTTPSProxy) Run() (remoteAddr string, err error) {xl := pxy.xlrouteConfig := &vhost.RouteConfig{}defer func() {if err != nil {pxy.Close()}}()addrs := make([]string, 0)for _, domain := range pxy.cfg.CustomDomains {if domain == "" {continue}routeConfig.Domain = domainl, errRet := pxy.rc.VhostHTTPSMuxer.Listen(pxy.ctx, routeConfig)if errRet != nil {err = errRetreturn}xl.Info("https proxy listen for host [%s]", routeConfig.Domain)pxy.listeners = append(pxy.listeners, l)addrs = append(addrs, util.CanonicalAddr(routeConfig.Domain, pxy.serverCfg.VhostHTTPSPort))}if pxy.cfg.SubDomain != "" {routeConfig.Domain = pxy.cfg.SubDomain + "." + pxy.serverCfg.SubDomainHostl, errRet := pxy.rc.VhostHTTPSMuxer.Listen(pxy.ctx, routeConfig)if errRet != nil {err = errRetreturn}xl.Info("https proxy listen for host [%s]", routeConfig.Domain)pxy.listeners = append(pxy.listeners, l)addrs = append(addrs, util.CanonicalAddr(routeConfig.Domain, pxy.serverCfg.VhostHTTPSPort))}pxy.startListenHandler(pxy, HandleUserTCPConnection)remoteAddr = strings.Join(addrs, ",")return}func (pxy *HTTPSProxy) GetConf() config.ProxyConf {return pxy.cfg}func (pxy *HTTPSProxy) Close() {pxy.BaseProxy.Close()}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。