MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / UpdateRootProxy

Method UpdateRootProxy

agent/utils/nginx/components/server.go:355–413  ·  view source on GitHub ↗
(proxy []string)

Source from the content-addressed store, hash-verified

353}
354
355func (s *Server) UpdateRootProxy(proxy []string) {
356 httpsProxy := len(proxy) > 0 && strings.HasPrefix(strings.ToLower(strings.TrimSpace(proxy[0])), "https://")
357 newDir := Directive{
358 Name: "location",
359 Parameters: []string{"/"},
360 Block: &Block{},
361 }
362 block := &Block{}
363
364 block.AppendDirectives(
365 &Directive{
366 Name: "proxy_set_header",
367 Parameters: []string{"Host", "$host"},
368 },
369 &Directive{
370 Name: "proxy_set_header",
371 Parameters: []string{"X-Forwarded-For", "$proxy_add_x_forwarded_for"},
372 },
373 &Directive{
374 Name: "proxy_set_header",
375 Parameters: []string{"X-Forwarded-Host", "$server_name"},
376 },
377 &Directive{
378 Name: "proxy_set_header",
379 Parameters: []string{"X-Real-IP", "$remote_addr"},
380 },
381 &Directive{
382 Name: "proxy_set_header",
383 Parameters: []string{"X-Forwarded-Proto", "$scheme"},
384 },
385 &Directive{
386 Name: "proxy_set_header",
387 Parameters: []string{"Connection", "upgrade"},
388 },
389 &Directive{
390 Name: "proxy_set_header",
391 Parameters: []string{"Upgrade", "$http_upgrade"},
392 },
393 &Directive{
394 Name: "proxy_http_version",
395 Parameters: []string{"1.1"},
396 },
397 &Directive{
398 Name: "proxy_ssl_server_name",
399 Parameters: []string{map[bool]string{true: "on", false: "off"}[httpsProxy]},
400 },
401 &Directive{
402 Name: "proxy_ssl_name",
403 Parameters: []string{"$proxy_host"},
404 },
405 &Directive{
406 Name: "proxy_pass",
407 Parameters: proxy,
408 },
409 )
410
411 newDir.Block = block
412 s.UpdateDirectiveBySecondKey("location", "/", newDir)

Callers 4

getRootProxyDirectivesFunction · 0.95
UpdateMethod · 0.80
configDefaultNginxFunction · 0.80
opWebsiteFunction · 0.80

Calls 2

AppendDirectivesMethod · 0.95

Tested by

no test coverage detected