pfSense + NAT and nginx - real IP not shown in logs
Solution 1:
You should use the load balancing capability of pfsense to do this (as described here : https://www.howtoforge.com/how-to-use-pfsense-to-load-balance-your-web-servers) instead of a NATING Rule.
You can define only one loadbalancing pool with only one server in it.
Besides, it will allow you to add nginx servers later If you need it.
Solution 2:
This issue is now fixed.
My pfSense NAT outbound was configured incorrectly. I had both WAN and LAN mappings setup. Removing the LAN outbound mapping fixed it.