By Tilak Sasmal — Mon Sep 29 2025
2 min read

This guide outlines the required steps and configurations to serve a Ghost blog hosted on typetale.app under a subdirectory (e.g., yourdomain.com/blog), while your main website continues operating independently under yourdomain.com. The configuration demonstrates a Nginx reverse proxy, but the principles apply to other reverse proxies.
Provision a Ghost blog on typetale.app. For the purposes of these instructions, assume typetale.app provisions the blog at demo.ontypetale.com
Login to your ghost admin dashboard (e.g. demo.ontypetale.com/ghost). Navigate to Console page (see the sidebar). Select domains tab, scroll to Sub-directory Configuration section and add your sub-directory url path. Save the changes and next we need to setup the reverse proxy.
On yourdomain.com’s web server, configure a reverse proxy that forwards all /blog traffic (including subpaths) to demo.ontypetale.com. Here is the recommended Nginx configuration:
server {
server_name yourdomain.com;
# ... (existing site configuration)
location /blog/ {
proxy_pass https://demo.ontypetale.com;
proxy_ssl_server_name on;
proxy_set_header Host demo.ontypetale.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
listen 443 ssl;
ssl_certificate /path/to/your/ssl/certificate.pem;
ssl_certificate_key /path/to/your/ssl/certificate_key.pem;
}
This setup transparently proxies all requests to /blog and subpaths (e.g., /blog/post-title) to demo.ontypetale.com while maintaining correct header information for Ghost to generate absolute URLs and track original clients.
The following headers are required for Ghost's subdirectory routing to work seamlessly:
This header setup keeps the Ghost instance aware of the true request origin and path context.
| Application Domain | Proxy Subdirectory | Mandatory Proxy Headers |
|---|---|---|
| yourdomain.com | /blog | X-Forwarded-Proto, X-Forwarded-Host, X-Real-IP, X-Forwarded-For, Host |
This approach enables an organization to present editorial content via Ghost in a cohesive, SEO-friendly format inside their main domain.