Assing public IP to internal server

I successfully assign a public IP address to an internal server, but when I saw apache logs on the server I only see the router interface IP address accessing the server, everyone is getting the router interface IP address instead of their public ip adresses?

What I’m doing wrong??? :confused:

Hello this can be done in more then one way but it is also mostly based on the
security that you which to have.

In normal you will set up a DMZ where all the servers are placed in
and then you would be doing the IP translation like this
public IP address → internal private IP address given to the server
also with opened ports for matching the offered services by the servers

or

setting up the public IP address at the server directly and only open the ports at the router
that are needed for the offered services by the servers.