allow tls connection in http proxy

pull/168/head
v2ray 9 years ago
parent b65017d28d
commit f2c656843e

@ -16,6 +16,25 @@ type TlsConfig struct {
Certs []*CertificateConfig
}
func (this *TlsConfig) GetConfig() *tls.Config {
if !this.Enabled {
return nil
}
config := &tls.Config{
InsecureSkipVerify: false,
}
config.Certificates = make([]tls.Certificate, len(this.Certs))
for index, cert := range this.Certs {
config.Certificates[index] = cert.Certificate
}
config.BuildNameToCertificate()
return config
}
type Config struct {
OwnHosts []v2net.Address
TlsConfig *TlsConfig

@ -2,6 +2,7 @@ package http
import (
"bufio"
"crypto/tls"
"io"
"net"
"net/http"
@ -60,7 +61,11 @@ func (this *HttpProxyServer) Listen(port v2net.Port) error {
}
this.listeningPort = port
tcpListener, err := hub.ListenTCP(port, this.handleConnection, nil)
var tlsConfig *tls.Config = nil
if this.config.TlsConfig != nil {
tlsConfig = this.config.TlsConfig.GetConfig()
}
tcpListener, err := hub.ListenTCP(port, this.handleConnection, tlsConfig)
if err != nil {
log.Error("Http: Failed listen on port ", port, ": ", err)
return err

Loading…
Cancel
Save