46

I have the following nginx config, e.g.

server {
        listen   80;
        server_name example.com
        allow 127.0.0.0/8;

When I restart, it warn me:

Restarting nginx: nginx: [warn] server name "127.0.0.0/8" has suspicious 
symbols in /etc/nginx/sites-enabled/xxx

Any idea?

109

I guess you are missing the ; at the end of the server_name directive so it interprets the allow line as part of the server name.

server {
        listen   80;
        server_name example.com;
        allow 127.0.0.0/8;
| improve this answer | |
  • 4
    I have been here before... I was just about to upvote your answer then I realized I already did! Thanks for a second time :-) – codenamejames Aug 31 '17 at 17:01
  • Thank you. I was missing the ; at the end, and it was causing 404 Not Found nginx in my browser and server name "/var/www/mysite" has suspicious symbols in /etc/nginx/sites-available/mysite.conf:8 in my /var/log/nginx/error.log. – Ryan Apr 26 '19 at 11:34
3

For me the cause of this error was having 'http://' in the server_name.

i.e. I changed this:

server {
    listen <Server name>:80;
    server_name <DNS name> http://localhost:28080;
    ...

To this:

server {
    listen <Server name>:80;
    server_name <DNS name> localhost:28080;
    ...
| improve this answer | |
2

A simple directive consists of the name and parameters separated by spaces and ends with a semicolon (;).

In your case server_name example.com semicolon (;) is missing.

server {
        listen   80;
        server_name example.com;
        allow 127.0.0.0/8;
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.