如何将所有http请求重定向到https,而不会出现太多重定向错误

时间:2019-06-13 14:59:54

标签: nginx nginx-reverse-proxy nginx-config

我的配置运行正常,但是我想将所有http请求重定向到https

我已经尝试过(在阅读完一些块之后)以下内容: 补充: 服务器名称 _; 返回301 https:// $ host $ request_uri;

在我的nginx.conf文件中,但是没有用 但是,我的浏览器显示一个错误:重定向太多

下面是可以工作但不能重定向到https的nginx.conf

server {
    listen $PORT default_server;
    charset utf-8;
    add_header 'Access-Control-Allow-Origin' '*';

    root /app/dist;
    index index.html;

    client_max_body_size 100M;

    location ~ ^/(blabla) {
            proxy_pass https://$BACKEND_URL;
            proxy_redirect default;
  }
  location ~ ^/(blabla2) {
      proxy_pass https://$BACKEND_URL;
      proxy_redirect default;
  }

    location / {
        try_files $uri $uri/ @rewrites;
    }
    location @rewrites {
        rewrite ^(.+)$ /index.html last;
    }
}

下面是我修改的nginx.conf,使其将所有http请求重定向到https,但出现太多重定向错误

server {
    listen $PORT default_server;
    charset utf-8;
    add_header 'Access-Control-Allow-Origin' '*';
    server_name _;
    return 301 https://$host$request_uri;

    root /app/dist;
    index index.html;

    client_max_body_size 100M;

    location ~ ^/(blabla) {
            proxy_pass https://$BACKEND_URL;
            proxy_redirect default;
  }
  location ~ ^/(blabla2) {
      proxy_pass https://$BACKEND_URL;
      proxy_redirect default;
  }

    location / {
        try_files $uri $uri/ @rewrites;
    }
    location @rewrites {
        rewrite ^(.+)$ /index.html last;
    }
}

我希望我打电话给blabla(这只是不公开我的网站的一个示例)的后端解析为https://blabla

我的nginx.conf文件怎么了?

0 个答案:

没有答案