Nginx – Local Server with external IP not reachable when in LAN

local-area-networknginxtelnet

I have a local debain server with external IP and my own domain. But I got following problem:

  • Using DNS/external IP from outside the LAN: Works
  • Using local IP from inside the LAN: Works
  • Using DNS/externa IP from inside: Does not work -> Timeout

I don't receive any message when connection to the domain using telnet. But ping and traceroute does work.
When visiting via browser no message is displayed. As the server logs nothing I don't know where to start searching.

Here is one of my nginx configs:

server {
    listen 443;
    ssl on;
    server_name wiki.*;
    ssl_certificate     /etc/letsencrypt/live/admin.domain.de    /fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/admin.domain.de/privkey.pem;

    set $root_path "/home/wiki/dokuwiki";
    root $root_path;

    access_log /var/log/nginx/dokuwiki-access.log;
    error_log /var/log/nginx/dokuwiki-error.log;

    index index.php index.html doku.php;
    location ~ /(data|conf|bin|inc)/ {
         deny all;
    }
    location ~ /\.ht {
         deny  all;
    }
    location ~ \.php {
         fastcgi_index index.php;
         fastcgi_split_path_info ^(.+\.php)(.*)$;
         include /etc/nginx/fastcgi_params;
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
 }

Thank you!

Best Answer

Your router either doesn't support hairpin NAT, or it does support it and it's not enabled.