Question how plesk does the nginx server directive

larryk

Regular Pleskian
Plesk goes against one of the pitfalls and does what nginx says is wrong:

For setting the domain option: none, www, or non-www, plesk is doing this:

Code:
if ($host ~* ^domain\.com$) {
     rewrite ^(.*)$ http://www.domain.com$1   permanent;
}

but it should be like this (use 2 server directives):
Code:
server {
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}
server {
    server_name example.com;
    # [...]
}


and besides, nginx doesn't like (IF) statements...
https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/



i happened to notice this today
:)
 
You are correct from 'best practices' point of view. But I should say that in practice, the configuration used in Plesk, works correctly.
This 'improvement' requires a lot of tests and confidence that it will not break autotuning of hash bucket sizes in nginx.
 
Back
Top