feat: support proxy settings from env #579

This commit is contained in:
Jacky 2024-10-06 23:17:21 +08:00
parent ecb259a154
commit 390eabf3a0
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
7 changed files with 20 additions and 9 deletions

View file

@ -84,6 +84,7 @@ func InitNode(env *model.Environment) (n *Node) {
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
},
}

View file

@ -64,6 +64,7 @@ func IssueCert(payload *ConfigPayload, logChan chan string, errChan chan error)
// Skip TLS check
if config.HTTPClient != nil {
config.HTTPClient.Transport = &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
}
}

View file

@ -90,6 +90,7 @@ type SyncNotificationPayload struct {
func deploy(env *model.Environment, c *model.Cert, payloadBytes []byte) (err error) {
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
},
}

View file

@ -5,6 +5,7 @@ import (
"crypto/elliptic"
"crypto/rand"
"crypto/tls"
"github.com/0xJacky/Nginx-UI/model"
"github.com/0xJacky/Nginx-UI/settings"
"github.com/go-acme/lego/v4/certcrypto"
"github.com/go-acme/lego/v4/certificate"
@ -28,9 +29,12 @@ func TestTencentCloudDNS(t *testing.T) {
return
}
myUser := User{
myUser := model.AcmeUser{
Email: settings.ServerSettings.Email,
Key: privateKey,
Key: model.PrivateKey{
X: privateKey.PublicKey.X,
Y: privateKey.PublicKey.Y,
},
}
config := lego.NewConfig(&myUser)
@ -43,6 +47,7 @@ func TestTencentCloudDNS(t *testing.T) {
config.CADirURL = settings.ServerSettings.CADir
if config.HTTPClient != nil {
config.HTTPClient.Transport = &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
}
@ -79,7 +84,7 @@ func TestTencentCloudDNS(t *testing.T) {
log.Println(err)
return
}
myUser.Registration = reg
myUser.Registration = *reg
request := certificate.ObtainRequest{
Domains: domain,

View file

@ -124,6 +124,7 @@ type SyncNotificationPayload struct {
func (p *SyncConfigPayload) deploy(env *model.Environment, c *model.Config, payloadBytes []byte) (err error) {
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
},
}

View file

@ -59,6 +59,7 @@ func Proxy() gin.HandlerFunc {
logger.Debug("Proxy request", proxyUrl.String())
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
},
}

View file

@ -64,6 +64,7 @@ func (u *AcmeUser) Register() error {
// Skip TLS check
if config.HTTPClient != nil {
config.HTTPClient.Transport = &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.ServerSettings.InsecureSkipVerify},
}
}