@@ -180,7 +180,7 @@ func setPort(port string) error { | |||
setting.HTTPPort = port | |||
switch setting.Protocol { | |||
case setting.UnixSocket: | |||
case setting.HTTPUnix: | |||
case setting.FCGI: | |||
case setting.FCGIUnix: | |||
default: | |||
@@ -202,7 +202,7 @@ func setPort(port string) error { | |||
func listen(m http.Handler, handleRedirector bool) error { | |||
listenAddr := setting.HTTPAddr | |||
if setting.Protocol != setting.UnixSocket && setting.Protocol != setting.FCGIUnix { | |||
if setting.Protocol != setting.HTTPUnix && setting.Protocol != setting.FCGIUnix { | |||
listenAddr = net.JoinHostPort(listenAddr, setting.HTTPPort) | |||
} | |||
log.Info("Listen: %v://%s%s", setting.Protocol, listenAddr, setting.AppSubURL) | |||
@@ -240,7 +240,7 @@ func listen(m http.Handler, handleRedirector bool) error { | |||
NoHTTPRedirector() | |||
} | |||
err = runFCGI("tcp", listenAddr, "FCGI Web", m) | |||
case setting.UnixSocket: | |||
case setting.HTTPUnix: | |||
if handleRedirector { | |||
NoHTTPRedirector() | |||
} |
@@ -233,7 +233,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a | |||
## Server (`server`) | |||
- `PROTOCOL`: **http**: \[http, https, fcgi, unix, fcgi+unix\] | |||
- `PROTOCOL`: **http**: \[http, https, fcgi, http+unix, fcgi+unix\] | |||
- `DOMAIN`: **localhost**: Domain name of this server. | |||
- `ROOT_URL`: **%(PROTOCOL)s://%(DOMAIN)s:%(HTTP\_PORT)s/**: | |||
Overwrite the automatically generated public URL. | |||
@@ -248,7 +248,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a | |||
- `HTTP_ADDR`: **0.0.0.0**: HTTP listen address. | |||
- If `PROTOCOL` is set to `fcgi`, Gitea will listen for FastCGI requests on TCP socket | |||
defined by `HTTP_ADDR` and `HTTP_PORT` configuration settings. | |||
- If `PROTOCOL` is set to `unix` or `fcgi+unix`, this should be the name of the Unix socket file to use. Relative paths will be made absolute against the AppWorkPath. | |||
- If `PROTOCOL` is set to `http+unix` or `fcgi+unix`, this should be the name of the Unix socket file to use. Relative paths will be made absolute against the AppWorkPath. | |||
- `HTTP_PORT`: **3000**: HTTP listen port. | |||
- If `PROTOCOL` is set to `fcgi`, Gitea will listen for FastCGI requests on TCP socket | |||
defined by `HTTP_ADDR` and `HTTP_PORT` configuration settings. | |||
@@ -257,7 +257,7 @@ The following configuration set `Content-Type: application/vnd.android.package-a | |||
(DMZ) URL for Gitea workers (such as SSH update) accessing web service. In | |||
most cases you do not need to change the default value. Alter it only if | |||
your SSH server node is not the same as HTTP node. Do not set this variable | |||
if `PROTOCOL` is set to `unix`. | |||
if `PROTOCOL` is set to `http+unix`. | |||
- `PER_WRITE_TIMEOUT`: **30s**: Timeout for any write to the connection. (Set to 0 to | |||
disable all timeouts.) | |||
- `PER_WRITE_PER_KB_TIMEOUT`: **10s**: Timeout per Kb written to connections. |
@@ -46,7 +46,7 @@ func newInternalRequest(ctx context.Context, url, method string) *httplib.Reques | |||
InsecureSkipVerify: true, | |||
ServerName: setting.Domain, | |||
}) | |||
if setting.Protocol == setting.UnixSocket { | |||
if setting.Protocol == setting.HTTPUnix { | |||
req.SetTransport(&http.Transport{ | |||
DialContext: func(ctx context.Context, _, _ string) (net.Conn, error) { | |||
var d net.Dialer |
@@ -39,11 +39,11 @@ type Scheme string | |||
// enumerates all the scheme types | |||
const ( | |||
HTTP Scheme = "http" | |||
HTTPS Scheme = "https" | |||
FCGI Scheme = "fcgi" | |||
FCGIUnix Scheme = "fcgi+unix" | |||
UnixSocket Scheme = "unix" | |||
HTTP Scheme = "http" | |||
HTTPS Scheme = "https" | |||
FCGI Scheme = "fcgi" | |||
FCGIUnix Scheme = "fcgi+unix" | |||
HTTPUnix Scheme = "http+unix" | |||
) | |||
// LandingPage describes the default page | |||
@@ -607,7 +607,8 @@ func loadFromConf(allowEmpty bool) { | |||
HTTPPort = sec.Key("HTTP_PORT").MustString("3000") | |||
Protocol = HTTP | |||
switch sec.Key("PROTOCOL").String() { | |||
protocolCfg := sec.Key("PROTOCOL").String() | |||
switch protocolCfg { | |||
case "https": | |||
Protocol = HTTPS | |||
CertFile = sec.Key("CERT_FILE").String() | |||
@@ -620,24 +621,22 @@ func loadFromConf(allowEmpty bool) { | |||
} | |||
case "fcgi": | |||
Protocol = FCGI | |||
case "fcgi+unix": | |||
Protocol = FCGIUnix | |||
UnixSocketPermissionRaw := sec.Key("UNIX_SOCKET_PERMISSION").MustString("666") | |||
UnixSocketPermissionParsed, err := strconv.ParseUint(UnixSocketPermissionRaw, 8, 32) | |||
if err != nil || UnixSocketPermissionParsed > 0777 { | |||
log.Fatal("Failed to parse unixSocketPermission: %s", UnixSocketPermissionRaw) | |||
case "fcgi+unix", "unix", "http+unix": | |||
switch protocolCfg { | |||
case "fcgi+unix": | |||
Protocol = FCGIUnix | |||
case "unix": | |||
log.Warn("unix PROTOCOL value is deprecated, please use http+unix") | |||
fallthrough | |||
case "http+unix": | |||
Protocol = HTTPUnix | |||
} | |||
UnixSocketPermission = uint32(UnixSocketPermissionParsed) | |||
if !filepath.IsAbs(HTTPAddr) { | |||
HTTPAddr = filepath.Join(AppWorkPath, HTTPAddr) | |||
} | |||
case "unix": | |||
Protocol = UnixSocket | |||
UnixSocketPermissionRaw := sec.Key("UNIX_SOCKET_PERMISSION").MustString("666") | |||
UnixSocketPermissionParsed, err := strconv.ParseUint(UnixSocketPermissionRaw, 8, 32) | |||
if err != nil || UnixSocketPermissionParsed > 0777 { | |||
log.Fatal("Failed to parse unixSocketPermission: %s", UnixSocketPermissionRaw) | |||
} | |||
UnixSocketPermission = uint32(UnixSocketPermissionParsed) | |||
if !filepath.IsAbs(HTTPAddr) { | |||
HTTPAddr = filepath.Join(AppWorkPath, HTTPAddr) | |||
@@ -692,7 +691,7 @@ func loadFromConf(allowEmpty bool) { | |||
var defaultLocalURL string | |||
switch Protocol { | |||
case UnixSocket: | |||
case HTTPUnix: | |||
defaultLocalURL = "http://unix/" | |||
case FCGI: | |||
defaultLocalURL = AppURL |