nginx 配置 301 永久重定向

nginx 配置

将 HTTP 永久重定向到 HTTPS:

# redirect http to https
server {
  listen 80;
  server_name avinzheng.com;
  return 301 https://$http_host$request_uri;
}

将 www 二级域名永久重定向到根域名:

# redirect www to root
server {
  listen 80;
  listen 443 ssl http2;
  server_name www.avinzheng.com;
  ssl_certificate /etc/ssl/web/fullchain.pem;
  ssl_certificate_key /etc/ssl/web/key.pem;
  return 301 $scheme://avinzheng.com$request_uri;
}

将 HTTP 永久重定向到 HTTPS,同时将 www 二级域名永久重定向到根域名:

server {
  listen 80;
  server_name avinzheng.com www.avinzheng.com;
  return 301 https://avinzheng.com$request_uri;
}

server {
  listen 443 ssl http2;
  server_name www.avinzheng.com;
  ssl_certificate /etc/ssl/web/fullchain.pem;
  ssl_certificate_key /etc/ssl/web/key.pem;
  return 301 $scheme://avinzheng.com$request_uri;
}

重启 nginx 服务

验证 nginx 配置是否正确:

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启 nginx 服务:

sudo systemctl restart nginx

参考文献