update config

This commit is contained in:
ginuerzh 2022-01-10 18:25:48 +08:00
parent f0981298b8
commit 35ddf5cf43
4 changed files with 31 additions and 23 deletions

View File

@ -147,13 +147,17 @@ func buildServiceConfig(url *url.URL) (*config.ServiceConfig, error) {
md.Del("auth")
tlsConfig := &config.TLSConfig{
Cert: metadata.GetString(md, "cert"),
Key: metadata.GetString(md, "key"),
CA: metadata.GetString(md, "ca"),
CertFile: metadata.GetString(md, "certFile"),
KeyFile: metadata.GetString(md, "keyFile"),
CAFile: metadata.GetString(md, "caFile"),
}
md.Del("certFile")
md.Del("keyFile")
md.Del("caFile")
if tlsConfig.CertFile == "" {
tlsConfig = nil
}
md.Del("cert")
md.Del("key")
md.Del("ca")
svc.Handler = &config.HandlerConfig{
Type: handler,
@ -220,17 +224,21 @@ func buildNodeConfig(url *url.URL) (*config.NodeConfig, error) {
md.Del("auth")
tlsConfig := &config.TLSConfig{
CA: metadata.GetString(md, "ca"),
CAFile: metadata.GetString(md, "caFile"),
Secure: metadata.GetBool(md, "secure"),
ServerName: metadata.GetString(md, "serverName"),
}
if tlsConfig.ServerName == "" {
tlsConfig.ServerName = url.Hostname()
}
md.Del("ca")
md.Del("caFile")
md.Del("secure")
md.Del("serverName")
if !tlsConfig.Secure && tlsConfig.CAFile == "" {
tlsConfig = nil
}
node.Connector = &config.ConnectorConfig{
Type: connector,
Auth: auth,

View File

@ -319,11 +319,11 @@ func selectorFromConfig(cfg *config.SelectorConfig) chain.Selector {
var strategy chain.Strategy
switch cfg.Strategy {
case "round":
case "round", "rr":
strategy = chain.RoundRobinStrategy()
case "random":
case "random", "rand":
strategy = chain.RandomStrategy()
case "fifo":
case "fifo", "ha":
strategy = chain.FIFOStrategy()
default:
strategy = chain.RoundRobinStrategy()

View File

@ -15,22 +15,22 @@ import (
)
func loadServerTLSConfig(cfg *config.TLSConfig) (*tls.Config, error) {
return tls_util.LoadServerConfig(cfg.Cert, cfg.Key, cfg.CA)
return tls_util.LoadServerConfig(cfg.CertFile, cfg.KeyFile, cfg.CAFile)
}
func loadClientTLSConfig(cfg *config.TLSConfig) (*tls.Config, error) {
return tls_util.LoadClientConfig(cfg.Cert, cfg.Key, cfg.CA, cfg.Secure, cfg.ServerName)
return tls_util.LoadClientConfig(cfg.CertFile, cfg.KeyFile, cfg.CAFile, cfg.Secure, cfg.ServerName)
}
func buildDefaultTLSConfig(cfg *config.TLSConfig) {
if cfg == nil {
cfg = &config.TLSConfig{
Cert: "cert.pem",
Key: "key.pem",
CertFile: "cert.pem",
KeyFile: "key.pem",
}
}
tlsConfig, err := loadConfig(cfg.Cert, cfg.Key)
tlsConfig, err := loadConfig(cfg.CertFile, cfg.KeyFile)
if err != nil {
// generate random self-signed certificate.
cert, err := genCertificate()

View File

@ -31,9 +31,9 @@ type ProfilingConfig struct {
}
type TLSConfig struct {
Cert string `yaml:",omitempty"`
Key string `yaml:",omitempty"`
CA string `yaml:",omitempty"`
CertFile string `yaml:"certFile,omitempty"`
KeyFile string `yaml:"keyFile,omitempty"`
CAFile string `yaml:"caFile,omitempty"`
Secure bool `yaml:",omitempty"`
ServerName string `yaml:"serverName,omitempty"`
}
@ -45,8 +45,8 @@ type AuthConfig struct {
type SelectorConfig struct {
Strategy string
MaxFails int
FailTimeout time.Duration
MaxFails int `yaml:"maxFails"`
FailTimeout time.Duration `yaml:"failTimeout"`
}
type BypassConfig struct {
@ -143,9 +143,9 @@ type HopConfig struct {
type NodeConfig struct {
Name string
Addr string `yaml:",omitempty"`
Dialer *DialerConfig `yaml:",omitempty"`
Connector *ConnectorConfig `yaml:",omitempty"`
Bypass string `yaml:",omitempty"`
Connector *ConnectorConfig `yaml:",omitempty"`
Dialer *DialerConfig `yaml:",omitempty"`
}
type Config struct {