mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 10:44:12 +01:00 
			
		
		
		
	Replace "unix" by "http+unix" for PROTOCOL (#17771)
This commit is contained in:
		
							parent
							
								
									9d6208965c
								
							
						
					
					
						commit
						f49d160447
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -43,7 +43,7 @@ const (
 | 
			
		||||
	HTTPS    Scheme = "https"
 | 
			
		||||
	FCGI     Scheme = "fcgi"
 | 
			
		||||
	FCGIUnix Scheme = "fcgi+unix"
 | 
			
		||||
	UnixSocket Scheme = "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", "unix", "http+unix":
 | 
			
		||||
		switch protocolCfg {
 | 
			
		||||
		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)
 | 
			
		||||
		}
 | 
			
		||||
		UnixSocketPermission = uint32(UnixSocketPermissionParsed)
 | 
			
		||||
		if !filepath.IsAbs(HTTPAddr) {
 | 
			
		||||
			HTTPAddr = filepath.Join(AppWorkPath, HTTPAddr)
 | 
			
		||||
		}
 | 
			
		||||
		case "unix":
 | 
			
		||||
		Protocol = UnixSocket
 | 
			
		||||
			log.Warn("unix PROTOCOL value is deprecated, please use http+unix")
 | 
			
		||||
			fallthrough
 | 
			
		||||
		case "http+unix":
 | 
			
		||||
			Protocol = HTTPUnix
 | 
			
		||||
		}
 | 
			
		||||
		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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user