title: nginx-pache reverse proxy 403 error
body: <p>So I've decided to give reverse proxy a try, with apache being the 'back end' service.</p>
  
  <p>It seemed like everything has been configured correctly, and I'v verified my settings with several guides online, however nginx returns a 403 error when trying to access "/var/www/"</p>
  
  <p>My first inclination was to check permissions but thatdoesn't appear to the issue. Even after pushing the permissions to each directory\file I've got nothing changed.</p>
  
  <p>Secondly I'm wondering if I have to set ownership of "/var/www/" to nginx's default user, but I'm not so sure about it.</p>
  
  <p>Below I'll share nginx and apache's settings:</p>
  
  <p>Here's the config for nginx /etc/nginx/sites-available/* - </p>
  
  <pre><code>server {
          listen   80; 
  
          root /var/www/; 
          index index.php index.html index.htm;
  
          server_name example.com; 
  
          location / {
          try_files $uri $uri/ /index.php;
          }
  
          location ~ \.php$ {
  
          proxy_set_header X-Real-IP  $remote_addr;
          proxy_set_header X-Forwarded-For $remote_addr;
          proxy_set_header Host $host;
          proxy_pass http://127.0.0.1:8080;
  
           }
  
           location ~ /\.ht {
                  deny all;
          }
  }
  </code></pre>
  
  <p>Here's the config for apache /etc/apache2/sites-available/* - </p>
  
  <pre><code>&lt;VirtualHost 127.0.0.1:8080&gt;
  # The ServerName directive sets the request scheme, hostname and port that
  # the server uses to identify itself. This is used when creating
  # redirection URLs. In the context of virtual hosts, the ServerName
  # specifies what hostname must appear in the request's Host: header to
  # match this virtual host. For the default virtual host (this file) this
  # value is not decisive as it is used as a last resort host regardless.
  # However, you must set it for any further virtual host explicitly.
  #ServerName www.example.com
  
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  
  # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
  # error, crit, alert, emerg.
  # It is also possible to configure the loglevel for particular
  # modules, e.g.
  #LogLevel info ssl:warn
  
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  
  # For most configuration files from conf-available/, which are
  # enabled or disabled at a global level, it is possible to
  # include a line for only one particular virtual host. For example the
  # following line enables the CGI configuration for this host only
  # after it has been globally disabled with "a2disconf".
  #Include conf-available/serve-cgi-bin.conf
  </code></pre>
  
  <p></p>
  
  <p>To finish off, I'm running Ubuntu 14.04, Everything here is supposed to run on localhost, I just wanted to play around with reverse proxy to see if I like it or not.</p>
  
  <p>Any clue what I've screwed up here?</p>
  
  <p>-- I actually figured this out, I hadn't allowed directory access to the proper directory in Apache, so it would respond to nginx with a 403.</p>