mirror of https://github.com/v2ray/v2ray-core
				
				
				
			allow tls connection in http proxy
							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…
	
		Reference in New Issue