Denna tråd började med att jag planerade att ge ett simpelt svar till @tobias86aa i hans tråd här: https://www.sweclockers.com/forum/trad/1706595-npm-and-forwar...
Men svaret blev så långt så jag bestämde mig för att göra en egen tråd och sen länka in svaret. 😋
Skrivet av tobias86aa:
Det som jag vill åstadkomma att Apache loggarna visar rätt IP information. Lite osäker på vad för typ av information du är ute efter här men trafiken kommer in via Cloudflare -> OPNsense (Skickar vidare 80/443 trafik) -> Docker/NPM (192.168.1.118) -> webmin/virtualmin (192.168.1.146) -> tokar86a.top
Jag kan se mitt internets ip nummer i Wordpress men apache/php verkar använda sig av information
$_SERVER['REMOTE_ADDR'] 192.168.1.118
$_SERVER['SERVER_PORT'] 443
$_SERVER['SERVER_ADDR'] 192.168.1.146
$_SERVER['SERVER_NAME'] tokar86a.top
Men när jag kollar Wordfence så ser jag följande information
IP Detection Methods of detecting a visitor's IP address.
IPs Value Used
REMOTE_ADDR 192.168.1.118
CF-Connecting-IP 92.35.60.* In use
X-Real-IP 162.158.222.6
X-Forwarded-For 92.35.60.**, 162.158.222.6
Trusted Proxies (not set)
Trusted Proxy Preset (not set)
Så behöver få apache/php att använda CF-Connecting-IP ?
Om du inte får rätt IP i log så är det för att du missat att lägga till cloudflares IP range i din nginx.conf
https://www.cloudflare.com/ips/
Så här har jag konfigurerat min nginx så jag får rätt IP.
Jag skapade en ny fil i min nginx mapp, döpte filen till cf_real-ip.conf klistrade in rätt IP range från Cloudflare.
Ser ut så här om jag kör en cat på min .conf
När detta är klart så behöver man se till så denna rad med kod finns med i nginx.conf
Min nginx.conf fil ligger här: /config/appdata/nginx/nginx.conf
Starta sen om Swag.
Sen får man ut rätt IP till Wordpress & Wordfence med mera.
Men!
Om man nu kör Nginx Proxy Manager så är det lite annorlunda,
nedan är en step by step guide på exakt hur man gör!
1. Se till att containern är igång.
2. Bash in i containern, docker exec -it Nginx-Proxy-Manager-Official bash
(Jag har denna container)
3. Kolla vad du har för OS version i containern. cat /etc/os-release
4. Är din contaner debian/ubuntu kör följande kommando, apt-get update > apt-get install nano -y
5. Navigera in till nginx.conf > cd /etc/nginx > nano nginx.conf
6. Scrolla ner tills du ser detta,
# Real IP Determination
# Local subnets:
Sen lägger du till denna kod så som jag gjort i bilden nedan.
##
# CF Real IP
include conf.d/include/cf_real-ip.conf;
#
Spara sen med CTRL + O > Enter
7. Navigera sen in till följande mapp och skapa denna .conf fil
cd conf.d > cd include > nano cf_real-ip.conf
8. Klistra in IP range från Cloudflare, samt skriv syntax som i bilden nedan.
Spara sen med CTRL + O > Enter
9. ls för att se till så filen ligger där.
10. exit > exit > Done! > Restart Nginx Proxy Manager. > kolla logs så inga fel finns.
11. Nginx Proxy Manager log status!
Notera!
Du kan även ställa in detta i själva webui men jag har ej testat då container config fungerar perfekt!
(Webui är fint, men jag föredrar och ställa in CF Real IP korrekt från början, och då är det containern som gäller.)