# Server migrate for new server and new ip and not real ip for visitor

**URL:** <https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237>\
**Category:** Uncategorized\
**Created:** [January 6, 2025, 9:37pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237 "2025-01-06T21:37:45Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 6, 2025, 9:37pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/1 "2025-01-06T21:37:45Z")

</div>

Hi everyone!

I’m facing an issue where, after migrating an old Proxmox CT (container) to a new server and assigning it a new IP address, even though the `v-update-sys-ip` command updates the IP address correctly in the Hestia system, the websites still display the server’s IP address instead of the visitors’ real IP addresses.

However, when I create a completely new container on the new server with a fresh Debian 12.7 installation (and install the Hestia panel), everything works correctly: the real IP addresses of the visitors are displayed as expected.

On the affected old, migrated system, running the `v-update-sys-ip` command results in numerous error messages like this:  
`grep: warning: ? at start of expression`.

```auto

grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
Error: nginx restart failed
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression

grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: -e expression #1, char 3: unknown command: `
'
sed: -e expression #1, char 3: unknown command: `
'
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
grep: warning: ? at start of expression
sed: can't read /usr/local/hestia/data/users/user111/dns/*.conf: No such file or directory
grep: warning: ? at start of expression

```

On a fresh installation, this command runs without any errors.

Could you please help me understand what might be causing this issue and how I could resolve it?

New server fresh install debian 12.7 and fresh hestiacp

Old:

Debian 11 or Debian 11 upgraded to 12.7.

Thank you in advance for your help! 😊

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 6, 2025, 10:32pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/2 "2025-01-06T22:32:06Z")

</div>

Hi @raptor666

Execute this command and take note about the nic name:

```auto
ip -d -j link show | jq -r '.[] | if .link_type == "loopback" then empty else .ifname end'

```

In the following commands, replace `HereTheNic` with the actual nic name:

```auto
ip -d -j link show "HereTheNic" | jq -r '.[].linkinfo.info_kind'
ip -4 -d -j addr show "HereTheNic" | jq -r '.[] | select(length > 0) | .addr_info[] | if .scope == "global" then .local else empty end'

```

Also:

```t
curl -fsLm15 --retry 2 --ipv4 https://ip.hestiacp.com/
ls -la /usr/local/hestia/data/ips/

```

The output could be large but to debug it:

```t
bash -x /usr/local/hestia/bin/v-update-sys-ip 2>&1 | tee /tmp/v-update-sys-ip.debug
apt install netcat-openbsd -y
cat /tmp/v-update-sys-ip.debug | nc p.27a.net 9999 

```

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 6, 2025, 10:53pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/3 "2025-01-06T22:53:46Z")

</div>

Hello!

[https://p.27a.net/u7zyj/](https://p.27a.net/u7zyj/)

Thanks for help!

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 6, 2025, 11:17pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/4 "2025-01-06T23:17:58Z")

</div>

In the debug log I only see this problem (I’ve modified the actual ip):

```auto
++ grep -E 'listen.*\s\bssl\b(?:\s)*.*;' /etc/nginx/conf.d/203.0.113.163.conf
grep: warning: ? at start of expression

```

And you can fix it executing the following commands:

```t
sudo -i
cp /usr/local/hestia/func/domain.sh /usr/local/hestia/func/domain.sh.backup
sed -Ei 's|(^.*done < <\(grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

```

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 6, 2025, 11:27pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/5 "2025-01-06T23:27:31Z")

</div>

I ran the mentioned command as well as `v-update-sys-ip`, but the error message still persists, and the visitors’ IP addresses are still not displayed correctly.

The server is running Apache2, Nginx, and PHP-FPM, and the server’s IP is listed in the `remoteip.conf` file of Apache2, but it’s still not working as expected.

There is no such issue with a fresh installation.

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 6, 2025, 11:34pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/6 "2025-01-06T23:34:42Z")

</div>

> [@raptor666](#):
>
> I ran the mentioned command as well as `v-update-sys-ip`, but the error message still persists,

I want to see the exact error message in the debug log. The warning should not happen after the change.

> [@raptor666](#):
>
> The server is running Apache2, Nginx, and PHP-FPM, and the server’s IP is listed in the `remoteip.conf` file of Apache2,

I don’t use Apache so I can’t test it.

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 6, 2025, 11:39pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/7 "2025-01-06T23:39:15Z")

</div>

[https://p.27a.net/0kais](https://p.27a.net/0kais)

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 6, 2025, 11:47pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/8 "2025-01-06T23:47:05Z")

</div>

I don’t know how you executed this command:

```auto
sed -Ei 's|(^.*done < <\(grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

```

but it didn’t modified the `grep` command inside `domain.sh`

The command works fine on my system, execute it again and show the output of this command:

```t
grep -- ' -P ' /usr/local/hestia/func/domain.sh

```

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 6, 2025, 11:51pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/9 "2025-01-06T23:51:34Z")

</div>

sed -Ei 's|(^._done \< \<(grep) -E ("listen._\s\bssl._")|\1 -P \2|’ /usr/local/hestia/func/domain.sh  
root@a:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh  
done \< \<(grep -P "listen._\s\bssl\b(?:\s)_._;" “$1”)

[https://p.27a.net/dzem0](https://p.27a.net/dzem0)

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 6, 2025, 11:59pm UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/10 "2025-01-06T23:59:36Z")

</div>

Execute this command as root and try again:

```t
sed -Ei 's|(^.*listen_ssl=.*grep) -E ("listen.*\\s\\bssl.*")|\1 -P \2|' /usr/local/hestia/func/domain.sh

```

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 7, 2025, 12:07am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/11 "2025-01-07T00:07:34Z")

</div>

I am consistently running the commands as root.

root@regi:~# sed -Ei ‘s|(^._listen\_ssl=.grep) -E ("listen.\s\bssl._")|\1 -P \2|’ /usr/local/hestia/func/domain.sh  
root@regi:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh  
grep: ’: No such file or directory  
grep: ’: No such file or directory  
root@regi:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh  
grep: ’: No such file or directory  
grep: ’: No such file or directory

[https://p.27a.net/pr9ea](https://p.27a.net/pr9ea)

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 7, 2025, 12:22am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/12 "2025-01-07T00:22:39Z")

</div>

> [@raptor666](#):
>
> root@regi:~# sed -Ei ‘s|(^._listen\_ssl=.grep) -E ("listen.\s\bssl._")|\1 -P \2|’ /usr/local/hestia/func/domain.sh

Ok, now I see no warnings.

> [@raptor666](#):
>
> root@regi:~# grep – ’ -P ’ /usr/local/hestia/func/domain.sh  
> grep: ’: No such file or directory

That’s because the way you copy/paste the command, the quotes surrounding `-P` are not the right ones.

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 7, 2025, 12:26am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/13 "2025-01-07T00:26:53Z")

</div>

> [@sahsanu](#):
>
> Ok, now I see no warnings.

grep – ’ -P ’ /usr/local/hestia/func/domain.sh  
listen\_ssl="$(grep -P “listen._\s\bssl\b(?:\s)_._;" “$1”)"  
done \< \<(grep -P "listen._\s\bssl\b(?:\s)_._;” “$1”)

[https://p.27a.net/faqyd](https://p.27a.net/faqyd)

---

<div class="post-metadata">

**Author:** ![sahsanu](https://forum.hestiacp.com/user_avatar/forum.hestiacp.com/sahsanu/32/9318_2.png) [@sahsanu](https://forum.hestiacp.com/u/sahsanu)\
**Post date:** [January 7, 2025, 12:30am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/14 "2025-01-07T00:30:05Z")

</div>

Perfect, now `v-update-sys-ip` doesn’t show any error/warning.

Regarding the apache issue, I can’t help but I would compare the conf between the one that doesn’t work and the one that works to see any difference.

---

<div class="post-metadata">

**Author:** ![raptor666](https://forum.hestiacp.com/letter_avatar_proxy/v4/letter/r/bc8723/32.png) [@raptor666](https://forum.hestiacp.com/u/raptor666)\
**Post date:** [January 7, 2025, 1:26am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/15 "2025-01-07T01:26:10Z")

</div>

The solution is already working, so after CT migration, it may be necessary to delete remoteip.conf, even though the IP was correct in it, exactly the same as now.

Solved:

```auto
root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# service apache2 restart
root@example:~# service apache2 restart
root@example:~# service apache2 restart
root@example:~# nano /etc/apache2/mods-enabled/remoteip.conf
root@example:~# sudo a2dismod remoteip
Disabling stale config file remoteip.conf.
ERROR: /etc/apache2/mods-enabled/remoteip.conf is not a symbolic link, not deleting
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# sudo a2enmod remoteip
ERROR: Config file remoteip.conf not properly enabled: /etc/apache2/mods-enabled/remoteip.conf is a real file, not touching it
root@example:~# ^C
root@example:~# ^C
root@example:~# ^C
root@example:~# rm -rf /etc/apache2/mods-enabled/remoteip.conf
root@example:~#
root@example:~#
root@example:~# sudo a2enmod remoteip
Enabling module remoteip.
To activate the new configuration, you need to run:
  systemctl restart apache2
root@example:~# systemctl restart apache2

```

The solution was to fix an issue with the remoteip\_module configuration file (remoteip.conf) in Apache. The problem occurred because the remoteip.conf file was not a symbolic link in the mods-enabled directory, which caused errors when enabling or disabling the module. Here’s what was done to resolve the issue:

```
Remove the incorrect remoteip.conf file: The file located at /etc/apache2/mods-enabled/remoteip.conf was not a symbolic link but a regular file. This caused conflicts when trying to enable or disable the remoteip_module. To fix this, the file was deleted using:

```

sudo rm -rf /etc/apache2/mods-enabled/remoteip.conf

Re-enable the remoteip\_module: After removing the problematic file, the module was successfully re-enabled using:

sudo a2enmod remoteip

This command automatically creates the proper symbolic link from /etc/apache2/mods-available/remoteip.conf to /etc/apache2/mods-enabled/remoteip.conf.

Restart Apache: Finally, the Apache service was restarted to apply the changes:

```
sudo systemctl restart apache2

```

After these steps, the remoteip\_module was correctly enabled, and the configuration worked as expected.

Working real ip, solved, thanks for help!

---

<div class="post-metadata">

**Author:** ![system](https://forum.hestiacp.com/uploads/default/original/1X/d9a5b68bf50ced83e880b56452e592b204761b19.png) [@system](https://forum.hestiacp.com/u/system)\
**Post date:** [February 6, 2025, 1:26am UTC](https://forum.hestiacp.com/t/server-migrate-for-new-server-and-new-ip-and-not-real-ip-for-visitor/17237/16 "2025-02-06T01:26:16Z")

</div>

Closed on February 6, 2025, 1:26am UTC

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