Blog as a Subfolder instead of Subdomain

Hello people :grin:! I’m facing an issue regarding the deployment of a blog on an app that it’s on production.
Basically i want to deploy a blog using Ghost platform and the first approach that comes in my mind is to deploy it in a different server but using a subdomain like this: blog.app.com
This would be the easiest approach but since the app is an aggregator, we don’t have too much content and we’d like to use the blog to rank the app, so the subdomain approach is not the best one from a SEO perspective.
My idea is to deploy Ghost to a different server(as in the first approach) but i’d like to point it at an URL like app.com/blog, so a subfolder and not a subdomain. Is this the best approach or is feasible in your opinion? Could you suggest me a better approach if is possible or a way to do the second one, because right now i’m lost.

I was also reading this thread Using Subdomain as Parameter and @ricoshady suggests to use a proxy to convert calls, but i don’t know too much about proxy, so should i install a proxy on the blog’s server or the Meteor one? Thanks for the help guys :slight_smile:

Are you trying to run a meteor app at yourdomain.com, and a blog at yourdomain.com/blog? If that’s the case, it’s relatively easy using nginx. Basically you will set up a reverse proxy for the app so that it can “live” at yourdomain.com, then have another rule to direct /blog visitors to the proper place.

Yep! The app is already running(i’ve used mup on a DO droplet), i just want to run the blog on app.com/blog using Ghost.
Is it better to run Ghost on the same server of Meteor or run in another server and use a reverse proxy to point to app.com/blog? I’m a bit confused on how to use a reverse proxy, i need to do some researches :slight_smile:

I don’t think one is any better than another. Having everything on one server makes things easier, but it depends on your needs. There is a good article here that walks through some of the basics of setting up nginx, meteor, etc., but the crucial part of the nginx conf file is:

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade; # allow websockets
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header X-Forwarded-For $remote_addr; # preserve client IP
}

There are a few different ways to go about it, but this is the basic nginx stuff you need to proxy pass to a meteor app.

Thanks @vigorwebsolutions, i’ve resolved studying a bit Nginx and various guide on the web, but your post gave me the right direction to follow! :slight_smile: Thanks