How to redirect to https when using load balancer in front of nginx
Palvelin Postmaster
postmaster at palvelin.fi
Wed Sep 4 21:07:14 UTC 2019
I have AWS ALB in front of an instance running nginx. I want to terminate https at the load balancer.
I have setup ALB's http listener to redirect http to https and forward https to the instance’s port 80.
I’m switching from using apache2 to nginx. My apache responds on a single port 80. In my apache config these directives are used to redirect traffic.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
SetEnv HTTPS "on"
SetEnv HTTP_X_FORWARDED_PROTO ”https”
As simple as it may be, I can’t figure out how to match this setup with nginx. With the following simple config most requests work but apparently assets in some of my pages have the scheme hardcoded and they don’t get rewritten.
server {
listen 80;
set_real_ip_from 172.31.0.0/16;
real_ip_header X-Forwarded-For;
server_name ”my.server.com";
root /var/www/;
access_log /var/log/nginx/access-.log main_ext;
error_log /var/log/nginx/error.log notice;
}
--
Hans Vallden
VP of Business Development | Vincit California
(949) 241-1151
vincit.com | vincitdevtalks.com
proud member of codedinoc.com
More information about the nginx
mailing list