SSL not initialized properly in a server section containing a syntax error in the server_name direct

Hi Igor,

The below configuration causes SSL not to be initialized for that server
section, silently. nginx listens on the port but rejects SSL
connections as "client sent invalid method while reading client request
line … " as shown by the error log file, which was put in debug mode
to figure this out.

Tested with version 0.6.31.

server {
listen x.x.x.x:443;
server_name hostname.com ← notice the lack of ;

ssl on;
ssl_protocols SSLv3 TLSv1;


}

Thanks

On Fri, Jun 27, 2008 at 08:48:08AM -0400, Just Marc wrote:

server_name hostname.com ← notice the lack of ;

ssl on;
ssl_protocols SSLv3 TLSv1;

}

nginx treats this as

server_name hostname.com  ssl  on;

The problem is that “ssl” and “on” may be valid server names.

The server_name directive now checks only “/” symbols in name and
issues warning

  server name "..." has strange symbols

to prevent

server_name hostname.com
access_log  /path/to/log;

and so.

to prevent

server_name hostname.com
access_log  /path/to/log;

and so.

Maybe we should have a bit that says which directives are allowed to
span multiple lines? This doesn’t feel robust enough now.

Marc

On Fri, Jun 27, 2008 at 09:32:24AM -0400, Just Marc wrote:

to prevent

server_name hostname.com
access_log /path/to/log;

and so.

Maybe we should have a bit that says which directives are allowed to
span multiple lines?

Any directives:

location
/
{
root
/path/to/root
;
}

This doesn’t feel robust enough now.

Yes, anything has its trade offs.