无法将Nginx HTTP流量重定向到HTTPS

时间:2019-05-16 05:52:37

标签: nginx reverse-proxy

这是我的nginx.conf:

upstream blah_upstream {
    server web:7000;
}

server {
    listen 80;
    server_name blah.com www.blah.com;

    # redict to HTTPS for all requests
    return 301 https://$host$request_uri;
}

server {
    listen 443    ssl;
    server_name   blah_upstream;
    server_tokens off;

    # generated with help of certbot
    ssl_certificate     /etc/letsencrypt/live/blah.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blah.com/privkey.pem;
    include             /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass          http://blah_upstream;
        proxy_set_header    Host                $http_host;
        proxy_set_header    X-Real-IP           $remote_addr;
        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    }

    location /static/ {
        alias /usr/src/app/public/;
    }
}

这适用于http://www.blah.com-> https://www.blah.com(可以正常重定向)。

但是http://blah.com-> https://blah_upstream当然绝对不起作用。

我在做什么错?我不明白为什么它适用于www版本而不适用于其他版本。

我尝试切换server_name的顺序

server_name blah.com www.blah.com;

但是那也不起作用。

0 个答案:

没有答案