Encountered multiple `Host` headers

PhilipLa year ago

Hi
I keep on getting the following when I try to look at the logs, Traccar is running but devices arn't showing, IOS client says send failed.

I only started having this error after rebooting VM

XXXX@XXXXXX:/opt/traccar/logs$ sudo tail tracker-server.log
2024-05-25 21:21:48  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:22:49  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:23:50  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:24:51  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:25:52  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:26:53  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:27:54  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:28:55  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:29:57  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`
2024-05-25 21:30:58  WARN: Encountered multiple `Host` headers.  Previous `Host` header already seen as `XXXX.XXXX.XXXX.org.uk`, new `Host` header has appeared as `XXXX.XXXX.XXXX.org.uk`

Any advice?
TIA
Mark

Anton Tananaeva year ago
PhilipLa year ago

Hi Anton
I did see that before my post, however, mine doesn't say disconnected, If it is the same apologies ;)

What documentation are you referring to, I'll take a look

Regards

Mark

Anton Tananaeva year ago

Yes, it's exactly the same issue. I'm referring to this doc:

https://www.traccar.org/secure-connection/

PhilipLa year ago

Thanks for this, we use NGINX not Apache so I'll have to ask an expert to help me

Regards
Mark

Track-tracea year ago

Then why dont you post your nginx config?

PhilipLa year ago

Hi

its runs on a subdomain on the server, the traccar config is in sites- available

server {

    server_name traccar.xxxxx.xxxx.org.uk;
    set $root_path "/var/www/traccar";

    root $root_path;

    index index.html index.php;

    location /api/socket {
       include proxy_params;
       proxy_http_version 1.1;
       proxy_cache_bypass $http_upgrade;
       proxy_buffering off;
       proxy_set_header Host $host;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "Upgrade";
       proxy_pass http://localhost:8082/api/socket;

    }

    location / {
       proxy_set_header X-Forwarded-Host $host:$server_port;
       proxy_set_header X-Forwarded-Server $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       proxy_pass http://localhost:8082/;
    }
    location ~ /.well-known {
       #this need for let's enctypt certificate otherwise i receve "not valid" for my domain when let's encrypt generate certificate
       allow all;
       root /var/www/html;
    }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/traccar.xxxxx.xxxx.org.uk/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/traccar.xxxx.xxxx.org.uk/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}

Thanks

PhilipLa year ago

My nginx.conf is

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    types_hash_max_size 2048;
    client_max_body_size 128m;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}