added the tls configuration for pxy targets

This commit is contained in:
2025-08-24 14:36:10 +09:00
parent 42ceb5f3fa
commit e2a3180ec7
4 changed files with 13 additions and 1 deletions

View File

@ -141,6 +141,9 @@ type ServerConfig struct {
PXY struct { PXY struct {
Service PXYServiceConfig `yaml:"service"` Service PXYServiceConfig `yaml:"service"`
TLS ServerTLSConfig `yaml:"tls"` TLS ServerTLSConfig `yaml:"tls"`
Target struct {
TLS ClientTLSConfig `yaml:"tls"`
} `yaml:"target"`
} `yaml:"pxy"` } `yaml:"pxy"`
WPX struct { WPX struct {

View File

@ -123,6 +123,8 @@ func server_main(ctl_addrs []string, rpc_addrs []string, rpx_addrs[] string, pxy
if err != nil { return err } if err != nil { return err }
config.PxyTls, err = make_tls_server_config(&cfg.PXY.TLS) config.PxyTls, err = make_tls_server_config(&cfg.PXY.TLS)
if err != nil { return err } if err != nil { return err }
config.PxyTargetTls, err = make_tls_client_config(&cfg.PXY.Target.TLS)
if err != nil { return err }
config.WpxTls, err = make_tls_server_config(&cfg.WPX.TLS) config.WpxTls, err = make_tls_server_config(&cfg.WPX.TLS)
if err != nil { return err } if err != nil { return err }

View File

@ -294,6 +294,7 @@ func (pxy *server_pxy_http_main) addr_to_transport (ctx context.Context, addr *n
var waitctx context.Context var waitctx context.Context
var cancel_wait context.CancelFunc var cancel_wait context.CancelFunc
var conn net.Conn var conn net.Conn
var tls_config *tls.Config
var err error var err error
// establish the connection. // establish the connection.
@ -303,12 +304,17 @@ func (pxy *server_pxy_http_main) addr_to_transport (ctx context.Context, addr *n
cancel_wait() cancel_wait()
if err != nil { return nil, err } if err != nil { return nil, err }
if pxy.S.Cfg.PxyTargetTls != nil {
tls_config = pxy.S.Cfg.PxyTargetTls.Clone()
} else {
tls_config = &tls.Config{InsecureSkipVerify: true}
}
// create a transport that uses the connection // create a transport that uses the connection
return &http.Transport{ return &http.Transport{
DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
return conn, nil return conn, nil
}, },
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, // TODO: make this part configurable? TLSClientConfig: tls_config,
}, nil }, nil
} }

View File

@ -75,6 +75,7 @@ type ServerConfig struct {
PxyAddrs []string PxyAddrs []string
PxyTls *tls.Config PxyTls *tls.Config
PxyTargetTls *tls.Config
WpxAddrs []string WpxAddrs []string
WpxTls *tls.Config WpxTls *tls.Config