Nging перенаправить http и https на домен https:// (без www)

Это мой конфиг Nginx:

upstream app_server {
  # Bindings to the Gunicorn server
  server 127.0.0.1:8002 fail_timeout=0;
}

server {
  listen 80;
  server_name "~^www\.(.*)$";
  return 301 https://$host$request_uri;
}

server {
  access_log path_to_nginx-access.log;
  error_log path_to_nginx-error.log;

  listen 443 ssl;
  server_name _;
  ssl_certificate path_to_nginx.crt;
  ssl_certificate_key path_to_nginx.key;

  client_max_body_size 4G;
  keepalive_timeout 5;
  root path_to_root;

  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $host;
    proxy_redirect off;

    if (!-f $request_filename) {
      proxy_pass http://app_server;
      break;
    }
  }
  error_page 500 502 503 504 /500.html;
  location = /500.html {
    root path_to_templates;
  }
}

с этим конфигом я могу перенаправить:

Как мне заставить мой сервер перенаправить https www на https не-www. Имейте в виду, что мне нужно обрабатывать несколько доменов на одном сервере Nginx (см. Имя_сервера).

Спасибо!

1 ответ

Для одного домена вы можете добиться этого следующим образом:

server {
    listen 443;
    server_name www.domain.com;
    ssl_certificate path_to_certificate;
    ssl_certificate_key path_to_key;

    return 301 https://domain.com$request_uri;
}
Другие вопросы по тегам