From a0803c8e87f375b1f138c7d1650ba21108f1cc62 Mon Sep 17 00:00:00 2001 From: Ken D'Ambrosio Date: Tue, 16 Jun 2026 18:43:26 +0000 Subject: Fix WhatsApp/OG link previews: https URLs and correct image dimensions nginx was sending X-Forwarded-Proto: http (its own scheme) rather than https (the edge scheme), so og:url and og:image were http:// URLs. Fixed by hardcoding https in the nginx proxy_set_header since HTTPS is always terminated at the upstream Apache router. Added a 1200x630 landscape og-default.png (WhatsApp requires ~1.91:1 ratio) and explicit og:image:width/height meta tags. Also tracks the nginx site config in the repo. Co-Authored-By: Claude Sonnet 4.6 --- config/nginx-albumen.conf | 6 +++++- public/img/og-default.png | Bin 0 -> 923506 bytes views/layout.erb | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 public/img/og-default.png diff --git a/config/nginx-albumen.conf b/config/nginx-albumen.conf index d540bcd..ce143f3 100644 --- a/config/nginx-albumen.conf +++ b/config/nginx-albumen.conf @@ -2,6 +2,10 @@ server { listen 80; server_name albumen.jots.org; + # Apache reverse proxy on the router passes X-Forwarded-For with the real client IP. + real_ip_header X-Forwarded-For; + set_real_ip_from 192.168.10.1; + client_max_body_size 0; # no limit for large video uploads via rsync proxy_read_timeout 300s; proxy_send_timeout 300s; @@ -12,7 +16,7 @@ server { 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; + proxy_set_header X-Forwarded-Proto https; proxy_buffering off; } } diff --git a/public/img/og-default.png b/public/img/og-default.png new file mode 100644 index 0000000..c52525a Binary files /dev/null and b/public/img/og-default.png differ diff --git a/views/layout.erb b/views/layout.erb index 7069e76..d02a67a 100644 --- a/views/layout.erb +++ b/views/layout.erb @@ -8,7 +8,9 @@ "> <% if @desc %><% end %> - "> + "> + + -- cgit v1.2.3