diff --git a/docs/content/reference/static-configuration/cli-ref.md b/docs/content/reference/static-configuration/cli-ref.md
index 2cdb6c405d61bc1e400a95881b6f3e4dc55f4b90..f393c66266b11c3bc18878eeadc2c0acf688ccd2 100644
--- a/docs/content/reference/static-configuration/cli-ref.md
+++ b/docs/content/reference/static-configuration/cli-ref.md
@@ -823,7 +823,7 @@ Constraints is an expression that Traefik matches against the Nomad service's ta
 Default rule. (Default: ```Host(`{{ normalize .Name }}`)```)
 
 `--providers.nomad.endpoint.address`:  
-The address of the Nomad server, including scheme and port.
+The address of the Nomad server, including scheme and port. (Default: ```http://127.0.0.1:4646```)
 
 `--providers.nomad.endpoint.endpointwaittime`:  
 WaitTime limits how long a Watch will block. If not provided, the agent default values will be used (Default: ```0```)
diff --git a/docs/content/reference/static-configuration/env-ref.md b/docs/content/reference/static-configuration/env-ref.md
index 3fdbb2892b818f0237733a7b1b75e08098b441a8..8a43556ca714c79153bacb9f40fdaba1df5d20d7 100644
--- a/docs/content/reference/static-configuration/env-ref.md
+++ b/docs/content/reference/static-configuration/env-ref.md
@@ -823,7 +823,7 @@ Constraints is an expression that Traefik matches against the Nomad service's ta
 Default rule. (Default: ```Host(`{{ normalize .Name }}`)```)
 
 `TRAEFIK_PROVIDERS_NOMAD_ENDPOINT_ADDRESS`:  
-The address of the Nomad server, including scheme and port.
+The address of the Nomad server, including scheme and port. (Default: ```http://127.0.0.1:4646```)
 
 `TRAEFIK_PROVIDERS_NOMAD_ENDPOINT_ENDPOINTWAITTIME`:  
 WaitTime limits how long a Watch will block. If not provided, the agent default values will be used (Default: ```0```)
diff --git a/pkg/provider/nomad/nomad.go b/pkg/provider/nomad/nomad.go
index 34877fb91576fdc916d0d72263bb6c5afae59680..4b28f4707fe5fd18ea58243bbef749322dfadc8f 100644
--- a/pkg/provider/nomad/nomad.go
+++ b/pkg/provider/nomad/nomad.go
@@ -62,9 +62,9 @@ type Provider struct {
 }
 
 type EndpointConfig struct {
-	// Address is the Nomad endpoint address, if empty it defaults to NOMAD_ADDR or "http://localhost:4646".
+	// Address is the Nomad endpoint address, if empty it defaults to NOMAD_ADDR or "http://127.0.0.1:4646".
 	Address string `description:"The address of the Nomad server, including scheme and port." json:"address,omitempty" toml:"address,omitempty" yaml:"address,omitempty"`
-	// Region is the Nomad region, if empty it defaults to NOMAD_REGION or "global".
+	// Region is the Nomad region, if empty it defaults to NOMAD_REGION.
 	Region string `description:"Nomad region to use. If not provided, the local agent region is used." json:"region,omitempty" toml:"region,omitempty" yaml:"region,omitempty"`
 	// Token is the ACL token to connect with Nomad, if empty it defaults to NOMAD_TOKEN.
 	Token            string           `description:"Token is used to provide a per-request ACL token." json:"token,omitempty" toml:"token,omitempty" yaml:"token,omitempty" loggable:"false"`
@@ -74,7 +74,18 @@ type EndpointConfig struct {
 
 // SetDefaults sets the default values for the Nomad Traefik Provider.
 func (p *Provider) SetDefaults() {
-	p.Endpoint = &EndpointConfig{}
+	defConfig := api.DefaultConfig()
+	p.Endpoint = &EndpointConfig{
+		Address: defConfig.Address,
+		Region:  defConfig.Region,
+		Token:   defConfig.SecretID,
+		TLS: &types.ClientTLS{
+			CA:                 defConfig.TLSConfig.CACert,
+			Cert:               defConfig.TLSConfig.ClientCert,
+			Key:                defConfig.TLSConfig.ClientKey,
+			InsecureSkipVerify: defConfig.TLSConfig.Insecure,
+		},
+	}
 	p.Prefix = defaultPrefix
 	p.ExposedByDefault = true
 	p.RefreshInterval = ptypes.Duration(15 * time.Second)
@@ -162,24 +173,19 @@ func (p *Provider) loadConfiguration(ctx context.Context, configurationC chan<-
 }
 
 func createClient(namespace string, endpoint *EndpointConfig) (*api.Client, error) {
-	config := api.Config{
+	return api.NewClient(&api.Config{
 		Address:   endpoint.Address,
 		Namespace: namespace,
 		Region:    endpoint.Region,
 		SecretID:  endpoint.Token,
 		WaitTime:  time.Duration(endpoint.EndpointWaitTime),
-	}
-
-	if endpoint.TLS != nil {
-		config.TLSConfig = &api.TLSConfig{
+		TLSConfig: &api.TLSConfig{
 			CACert:     endpoint.TLS.CA,
 			ClientCert: endpoint.TLS.Cert,
 			ClientKey:  endpoint.TLS.Key,
 			Insecure:   endpoint.TLS.InsecureSkipVerify,
-		}
-	}
-
-	return api.NewClient(&config)
+		},
+	})
 }
 
 // configuration contains information from the service's tags that are globals
diff --git a/pkg/provider/nomad/nomad_test.go b/pkg/provider/nomad/nomad_test.go
index 02e1217efd20dd0a1be40203a34fd0c8cb92678b..3bfc54dee709a6cfc708857c8675e6497aa1d826 100644
--- a/pkg/provider/nomad/nomad_test.go
+++ b/pkg/provider/nomad/nomad_test.go
@@ -7,7 +7,9 @@ import (
 	"strings"
 	"testing"
 
+	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
+	"github.com/traefik/traefik/v2/pkg/types"
 )
 
 func Test_globalConfig(t *testing.T) {
@@ -71,6 +73,61 @@ func Test_globalConfig(t *testing.T) {
 	}
 }
 
+func TestProvider_SetDefaults_Endpoint(t *testing.T) {
+	testCases := []struct {
+		desc     string
+		envs     map[string]string
+		expected *EndpointConfig
+	}{
+		{
+			desc: "without env vars",
+			envs: map[string]string{},
+			expected: &EndpointConfig{
+				Address: "http://127.0.0.1:4646",
+				TLS:     &types.ClientTLS{},
+			},
+		},
+		{
+			desc: "with env vars",
+			envs: map[string]string{
+				"NOMAD_ADDR":        "https://nomad.example.com",
+				"NOMAD_REGION":      "us-west",
+				"NOMAD_TOKEN":       "almighty_token",
+				"NOMAD_CACERT":      "/etc/ssl/private/nomad-agent-ca.pem",
+				"NOMAD_CLIENT_CERT": "/etc/ssl/private/global-client-nomad.pem",
+				"NOMAD_CLIENT_KEY":  "/etc/ssl/private/global-client-nomad-key.pem",
+				"NOMAD_SKIP_VERIFY": "true",
+			},
+			expected: &EndpointConfig{
+				Address: "https://nomad.example.com",
+				Region:  "us-west",
+				Token:   "almighty_token",
+				TLS: &types.ClientTLS{
+					CA:                 "/etc/ssl/private/nomad-agent-ca.pem",
+					Cert:               "/etc/ssl/private/global-client-nomad.pem",
+					Key:                "/etc/ssl/private/global-client-nomad-key.pem",
+					InsecureSkipVerify: true,
+				},
+				EndpointWaitTime: 0,
+			},
+		},
+	}
+
+	for _, test := range testCases {
+		test := test
+		t.Run(test.desc, func(t *testing.T) {
+			for k, v := range test.envs {
+				t.Setenv(k, v)
+			}
+
+			p := &Provider{}
+			p.SetDefaults()
+
+			assert.Equal(t, test.expected, p.Endpoint)
+		})
+	}
+}
+
 func Test_getNomadServiceData(t *testing.T) {
 	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 		switch {