title: How to configure NGINX to reroute a React Router app built on sub domains?
body: <p>I am currently building an app using react and the react router, the app works just fine when served by the nginx and docker, but once I reload or copy/paste the url, nginx gives a 404 error because the configuration cannot reach the locations specified by me and renders the error page, without that is a 500 instead.
  Also, my whole app is running under a subdomain which makes some of the answers I have seen and tried not work as I seem to miss something to properly tell nginx where to find my index.html inside the corresponding directories.</p>
  <p>Right now my configuration files look like this:</p>
  <p><strong>nginx.conf</strong></p>
  <pre><code>    user www-data;
      worker_processes 4;
      pid /run/nginx.pid;
      
      events {
              worker_connections 768;
              # multi_accept on;
      }
      
      http {
      
              ##
              # Basic Settings
              ##
      
              sendfile on;
              tcp_nopush on;
              tcp_nodelay on;
              keepalive_timeout 65;
              types_hash_max_size 2048;
      
              # server_names_hash_bucket_size 64;
              # server_name_in_redirect off;
      
              include /etc/nginx/mime.types;
              default_type application/octet-stream;
      
              ##
              # SSL Settings
              ##
      
              ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
              ssl_prefer_server_ciphers on;
      
              ##
              # Logging Settings
              ##
      
              access_log /var/log/nginx/access.log;
              error_log /var/log/nginx/error.log;
      
              ##
              # Gzip Settings
              ##
      
              gzip on;
              gzip_disable &quot;msie6&quot;;
  
              ##
              # Virtual Host Configs
              ##
  
              include /etc/nginx/conf.d/*.conf;
              include /etc/nginx/sites-enabled/*;
      }
  </code></pre>
  <p><strong>default inside sites-enabled</strong></p>
  <pre><code>##
  # You should look at the following URL's in order to grasp a solid understanding
  # of Nginx configuration files in order to fully unleash the power of Nginx.
  # http://wiki.nginx.org/Pitfalls
  # http://wiki.nginx.org/QuickStart
  # http://wiki.nginx.org/Configuration
  #
  # Generally, you will want to move this file somewhere, and start with a clean
  # file but keep this around for reference. Or just disable in sites-enabled.
  #
  # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
  ##
  
  # Default server configuration
  #
  server {
          listen 80 default_server;
          listen [::]:80 default_server;
  
          root /var/www/html;
  
          # Add index.php to the list if you are using PHP
          index index.html index.htm index.nginx-debian.html;
  
          server_name _;
          location / {
                  # First attempt to serve request as file, then
                  # as directory, then fall back to displaying a 404.
                  try_files $uri $uri/ index.html  =404;
          }
  
          location = /example1/example2/ {
                  try_files $uri $uri/ index.html =404;
          }
  
  }
  </code></pre>
  <p>Also I am using browserHistory with my react router</p>