/etc/nginx/sites-available
Edit: /etc/nginx/sites-available/vitrinclinic-test (3111B)
# Server blocks for the droplet's EXISTING host nginx (e.g. drop into
# /etc/nginx/sites-available/ or conf.d/ and adapt). Final domain names and
# TLS setup (certbot or Cloudflare origin cert) are wired in after inspecting
# the droplet's current proxy setup — treat this file as the template.
#
# Test deployment only: X-Robots-Tag + robots.txt override ensure it is never
# crawled or indexed.
# ── Frontend: test subdomain ────────────────────────────────────────────────
server {
server_name new.vitrinclinic.com; # e.g. do.vitrinclinic.com
# Never index the test deployment.
add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
location = /robots.txt {
add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
return 200 "User-agent: *\nDisallow: /\n";
}
location / {
proxy_pass http://127.0.0.1:3100;
proxy_http_version 1.1;
proxy_set_header Host $host;
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 $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/new.vitrinclinic.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/new.vitrinclinic.com/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
}
# ── Backend API: test subdomain ─────────────────────────────────────────────
server {
server_name new-api.vitrinclinic.com; # e.g. api-do.vitrinclinic.com
add_header X-Robots-Tag "noindex, nofollow, noarchive" always;
client_max_body_size 12m;
location / {
proxy_pass http://127.0.0.1:4100;
proxy_http_version 1.1;
proxy_set_header Host $host;
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 $scheme;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/new.vitrinclinic.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/new.vitrinclinic.com/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 = new.vitrinclinic.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name new.vitrinclinic.com;
return 404; # managed by Certbot
}
server {
if ($host = new-api.vitrinclinic.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name new-api.vitrinclinic.com;
return 404; # managed by Certbot
}