@@ -60,7 +60,7 @@ func runHTTPRedirector() {
6060 http .Redirect (w , r , target , http .StatusTemporaryRedirect )
6161 })
6262
63- var err = runHTTP (source , context2 .ClearHandler (handler ))
63+ var err = runHTTP ("tcp" , source , context2 .ClearHandler (handler ))
6464
6565 if err != nil {
6666 log .Fatal ("Failed to start port redirection: %v" , err )
@@ -77,12 +77,12 @@ func runLetsEncrypt(listenAddr, domain, directory, email string, m http.Handler)
7777 go func () {
7878 log .Info ("Running Let's Encrypt handler on %s" , setting .HTTPAddr + ":" + setting .PortToRedirect )
7979 // all traffic coming into HTTP will be redirect to HTTPS automatically (LE HTTP-01 validation happens here)
80- var err = runHTTP (setting .HTTPAddr + ":" + setting .PortToRedirect , certManager .HTTPHandler (http .HandlerFunc (runLetsEncryptFallbackHandler )))
80+ var err = runHTTP ("tcp" , setting .HTTPAddr + ":" + setting .PortToRedirect , certManager .HTTPHandler (http .HandlerFunc (runLetsEncryptFallbackHandler )))
8181 if err != nil {
8282 log .Fatal ("Failed to start the Let's Encrypt handler on port %s: %v" , setting .PortToRedirect , err )
8383 }
8484 }()
85- return runHTTPSWithTLSConfig (listenAddr , certManager .TLSConfig (), context2 .ClearHandler (m ))
85+ return runHTTPSWithTLSConfig ("tcp" , listenAddr , certManager .TLSConfig (), context2 .ClearHandler (m ))
8686}
8787
8888func runLetsEncryptFallbackHandler (w http.ResponseWriter , r * http.Request ) {
@@ -171,7 +171,7 @@ func runWeb(ctx *cli.Context) error {
171171 switch setting .Protocol {
172172 case setting .HTTP :
173173 NoHTTPRedirector ()
174- err = runHTTP (listenAddr , context2 .ClearHandler (m ))
174+ err = runHTTP ("tcp" , listenAddr , context2 .ClearHandler (m ))
175175 case setting .HTTPS :
176176 if setting .EnableLetsEncrypt {
177177 err = runLetsEncrypt (listenAddr , setting .Domain , setting .LetsEncryptDirectory , setting .LetsEncryptEmail , context2 .ClearHandler (m ))
@@ -182,7 +182,7 @@ func runWeb(ctx *cli.Context) error {
182182 } else {
183183 NoHTTPRedirector ()
184184 }
185- err = runHTTPS (listenAddr , setting .CertFile , setting .KeyFile , context2 .ClearHandler (m ))
185+ err = runHTTPS ("tcp" , listenAddr , setting .CertFile , setting .KeyFile , context2 .ClearHandler (m ))
186186 case setting .FCGI :
187187 NoHTTPRedirector ()
188188 // FCGI listeners are provided as stdin - this is orthogonal to the LISTEN_FDS approach
@@ -200,25 +200,8 @@ func runWeb(ctx *cli.Context) error {
200200 }()
201201 err = fcgi .Serve (listener , context2 .ClearHandler (m ))
202202 case setting .UnixSocket :
203- // This could potentially be inherited using LISTEN_FDS but currently
204- // these cannot be inherited
205203 NoHTTPRedirector ()
206- NoMainListener ()
207- if err := os .Remove (listenAddr ); err != nil && ! os .IsNotExist (err ) {
208- log .Fatal ("Failed to remove unix socket directory %s: %v" , listenAddr , err )
209- }
210- var listener * net.UnixListener
211- listener , err = net .ListenUnix ("unix" , & net.UnixAddr {Name : listenAddr , Net : "unix" })
212- if err != nil {
213- break // Handle error after switch
214- }
215-
216- // FIXME: add proper implementation of signal capture on all protocols
217- // execute this on SIGTERM or SIGINT: listener.Close()
218- if err = os .Chmod (listenAddr , os .FileMode (setting .UnixSocketPermission )); err != nil {
219- log .Fatal ("Failed to set permission of unix socket: %v" , err )
220- }
221- err = http .Serve (listener , context2 .ClearHandler (m ))
204+ err = runHTTP ("unix" , listenAddr , context2 .ClearHandler (m ))
222205 default :
223206 log .Fatal ("Invalid protocol: %s" , setting .Protocol )
224207 }
0 commit comments