2

I have purchased a ghost droplet $6 on digital ocean. I have a website that i.e., jointero.org. I wanted to setup ghost on my subdirectory that is /blog. I configured ghost on the droplet with the config url = https://www.jointero.org/blog. and on my web server I redirected the location blog to droplet ip. But I am getting 403 Forbidden Error. I have tried everything available on internet but nothing works. I am totally a beginner so I don't know much about nginx and server configs.

This is my nginx sites-enabled config.

server {
  server_name jointero.org www.jointero.org;
  location / {
    proxy_pass http://localhost:8080;
  }

location /blog {
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    proxy_set_header Update &http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
    proxy_pass http://137.184.139.240/;
  }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/jointero.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/jointero.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}

server{
    if ($host = www.jointero.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


  if ($host = jointero.org) {
    return 301 https://$host$request_uri;
  } # managed by Certbot
  server_name jointero.org www.jointero.org;
  listen 80;
  return 404; # managed by Certbot


}

and this is my ghost configs

{
  "url": "http://www.jointero.org/blog/",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "hidden",
      "password": "hidden",
      "port": 3306,
      "database": "hidden"
    }
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/ghost/content"
    }
 }
  

error log nginx sudo tail -f /var/log/nginx/error.log

directory index of "/var/www/ghost/system/nginx-root/" is forbidden, client: 45.132.240.139, server: www.jointero.org, request: "GET // HTTP/1.1", host: "jointero.org" 

I am looking forward to some support

  • 1. You are using duplicate server_name which means your second server block is always ignored. Please take a look at http://nginx.org/en/docs/http/server_names.html to see how `server_name` works. 2. Your server at 137.184.139.240 is probably expecting a different hostname. Try `proxy_set_header Host INSERT_EXPECTED_HOSTNAME;`. If this doesn't work check the logs on 137.184.139.240. It's probably expecting/not expecting something which Nginx is proxying. – Kshitij Joshi Aug 23 '22 at 19:23
  • @KshitijJoshi Could you please elaborate? I am totally a beginner. – Adeel Faridi Sep 20 '22 at 13:01

0 Answers0