mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 10:24:54 -06:00
parent
d4f7a2bc99
commit
c92d719a72
@ -25,7 +25,7 @@ plugins = data/plugins
|
||||
|
||||
#################################### Server ##############################
|
||||
[server]
|
||||
# Protocol (http or https)
|
||||
# Protocol (http, https, socket)
|
||||
protocol = http
|
||||
|
||||
# The ip address to bind to, empty will bind to all interfaces
|
||||
@ -57,6 +57,9 @@ enable_gzip = false
|
||||
cert_file =
|
||||
cert_key =
|
||||
|
||||
# Unix socket path
|
||||
socket = /tmp/grafana.sock
|
||||
|
||||
#################################### Database ############################
|
||||
[database]
|
||||
# You can configure the database connection by specifying type, host, name, user and password
|
||||
|
@ -26,7 +26,7 @@
|
||||
#
|
||||
#################################### Server ####################################
|
||||
[server]
|
||||
# Protocol (http or https)
|
||||
# Protocol (http, https, socket)
|
||||
;protocol = http
|
||||
|
||||
# The ip address to bind to, empty will bind to all interfaces
|
||||
@ -59,6 +59,9 @@
|
||||
;cert_file =
|
||||
;cert_key =
|
||||
|
||||
# Unix socket path
|
||||
;socket =
|
||||
|
||||
#################################### Database ####################################
|
||||
[database]
|
||||
# You can configure the database connection by specifying type, host, name, user and password
|
||||
|
@ -5,6 +5,7 @@ import (
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"path"
|
||||
@ -49,7 +50,7 @@ func (hs *HttpServer) Start(ctx context.Context) error {
|
||||
hs.streamManager.Run(ctx)
|
||||
|
||||
listenAddr := fmt.Sprintf("%s:%s", setting.HttpAddr, setting.HttpPort)
|
||||
hs.log.Info("Initializing HTTP Server", "address", listenAddr, "protocol", setting.Protocol, "subUrl", setting.AppSubUrl)
|
||||
hs.log.Info("Initializing HTTP Server", "address", listenAddr, "protocol", setting.Protocol, "subUrl", setting.AppSubUrl, "socket", setting.SocketPath)
|
||||
|
||||
hs.httpSrv = &http.Server{Addr: listenAddr, Handler: hs.macaron}
|
||||
switch setting.Protocol {
|
||||
@ -65,6 +66,18 @@ func (hs *HttpServer) Start(ctx context.Context) error {
|
||||
hs.log.Debug("server was shutdown gracefully")
|
||||
return nil
|
||||
}
|
||||
case setting.SOCKET:
|
||||
ln, err := net.Listen("unix", setting.SocketPath)
|
||||
if err != nil {
|
||||
hs.log.Debug("server was shutdown gracefully")
|
||||
return nil
|
||||
}
|
||||
|
||||
err = hs.httpSrv.Serve(ln)
|
||||
if err != nil {
|
||||
hs.log.Debug("server was shutdown gracefully")
|
||||
return nil
|
||||
}
|
||||
default:
|
||||
hs.log.Error("Invalid protocol", "protocol", setting.Protocol)
|
||||
err = errors.New("Invalid Protocol")
|
||||
|
@ -27,6 +27,7 @@ type Scheme string
|
||||
const (
|
||||
HTTP Scheme = "http"
|
||||
HTTPS Scheme = "https"
|
||||
SOCKET Scheme = "socket"
|
||||
DEFAULT_HTTP_ADDR string = "0.0.0.0"
|
||||
)
|
||||
|
||||
@ -65,6 +66,7 @@ var (
|
||||
HttpAddr, HttpPort string
|
||||
SshPort int
|
||||
CertFile, KeyFile string
|
||||
SocketPath string
|
||||
RouterLogging bool
|
||||
DataProxyLogging bool
|
||||
StaticRootPath string
|
||||
@ -473,6 +475,10 @@ func NewConfigContext(args *CommandLineArgs) error {
|
||||
CertFile = server.Key("cert_file").String()
|
||||
KeyFile = server.Key("cert_key").String()
|
||||
}
|
||||
if server.Key("protocol").MustString("http") == "socket" {
|
||||
Protocol = SOCKET
|
||||
SocketPath = server.Key("socket").String()
|
||||
}
|
||||
|
||||
Domain = server.Key("domain").MustString("localhost")
|
||||
HttpAddr = server.Key("http_addr").MustString(DEFAULT_HTTP_ADDR)
|
||||
|
Loading…
Reference in New Issue
Block a user