• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

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