Every session is 127.0.0.1

Infos:

  • Used Zammad version: 2.5.x
  • Used Zammad installation source: (source, package, …) apt
  • Operating system: ubuntu 16.04.4 64 bit
  • Browser + version: chrome 67

Expected behavior:

  • show the real client ip

Actual behavior:

  • always uses 127.0.0.1

Steps to reproduce the behavior:

  • install zammad, and log in from the local network (private subnets)

installed everything like the documentation says

nginx conf:

upstream zammad-railsserver {
    server localhost:3000;
}

upstream zammad-websocket {
    server localhost:6042;
}

server {
    listen 80;

    # replace 'localhost' with your fqdn if you want to use zammad from remote
    server_name zammad.int.example.org;

    root /opt/zammad/public;

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

    client_max_body_size 50M;

    location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
        expires max;
    }

    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 86400;
        proxy_pass http://zammad-websocket;
    }

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header CLIENT_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300;
        proxy_pass http://zammad-railsserver;

        gzip on;
        gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
        gzip_proxied any;
    }
}

in /var/log/nginx/zammad.access.log are the real ip’s, so it seems to be a zammad problem.

Does no one have a solution for this?

i have the same problem. Do you use a real server or an vm?

a VM on VMware ESXi 6.5

yes, same on my site… i think there is a problem with a virtual machine and the session ip’s.

I’ll try to find some free time testing this on ESXi 6.5 or 6.7 depending on what of my host got more ressources spare.

Just wanted to say that I did not forget this topic. I’ve tested this on my ESXi 6.5 environment and could verify this. I need further testing (verifying it is caused by nginx and Zammad combination). This is what I currently believe. Sorry for that delay

Hey,

we narrowed this down, but this won’t (for now) appear within a Zammad-Update.
You can test this and hotfix this by editing the following file:

/opt/zammad/config/environments/production.rb

Add the following above “end”

config.action_dispatch.trusted_proxies = [ “127.0.0.1” ]

And restart the Zammad-Service. Sessions should work now.
Feel free to give feedback. We at Zammad need to test this out further so that we can ensure, this doesn’t break anything other. If we’ve done that, we’ll patch it into stable.

The above github issue will be updated soon (as my post will be here)
Edit The update is live on develop-branch

Edit / Important hint please use " " quotes, not “ ” (this is a board issue and might give you a hard time finding the issue.

1 Like

I think you used the wrong quotes, which would result in a syntax error, right?

“ ” ≠ " "

But it works so far, thanks :slight_smile:

Great! Works fine for me on newly installed 2.6. Thanks for the hotfix!

Thanks for the feedback.

You’re right, it seems like this board is changing those. I used " " originally.
If you use them without spacings “” it’s broken. Thanks for the hint!

Edit: Cannot change this as I would otherwise cause syntax errors :frowning:

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.