← back to Kamatera Nginx
sites-available/venturaclaw.com
72 lines
# venturaclaw.com — coming-soon page + read-only /services hub.
# / = static teaser landing
# /services, /legal-notice, /api/services-chat, /static/* = proxied to ventura-claw :9788
# Everything else (login, admin, chat) stays gated.
server {
listen 80;
listen [::]:80;
server_name venturaclaw.com www.venturaclaw.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl;
server_name venturaclaw.com www.venturaclaw.com;
ssl_certificate /etc/letsencrypt/live/venturaclaw.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/venturaclaw.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/venturaclaw-comingsoon;
index index.html;
# ---- Public services hub: /services, /legal-notice, /api/services-chat ----
# These three paths and their static deps proxy to the ventura-claw Express app on :9788.
location = /services { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /legal-notice { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /privacy { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /terms { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /faq { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /docs { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /about { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /how-it-works { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location ~ ^/connectors(/|$) { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /pricing { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /sitemap.xml { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /robots.txt { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /changelog { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /feed { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /api/public/services { proxy_pass http://127.0.0.1:9788; include /etc/nginx/proxy_params; proxy_set_header Host $host; }
location = /api/services-demo/domain-email {
proxy_pass http://127.0.0.1:9788;
include /etc/nginx/proxy_params;
proxy_set_header Host $host;
proxy_read_timeout 30s;
}
location = /api/services-lead {
proxy_pass http://127.0.0.1:9788;
include /etc/nginx/proxy_params;
proxy_set_header Host $host;
proxy_read_timeout 30s;
}
location = /api/services-chat {
proxy_pass http://127.0.0.1:9788;
include /etc/nginx/proxy_params;
proxy_set_header Host $host;
proxy_read_timeout 90s;
}
# / = static teaser
location / {
try_files /index.html =404;
add_header Cache-Control "public, max-age=300";
}
# Block any other /api/* path (login, admin, etc.) — gated to hidden door later.
location /api/ { return 404; }
}