要在 Nginx 中将 HTTP 重定向到 HTTPS,你可以使用以下配置:
server {
listen 80 default_server;
server_name your_domain.com www.your_domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com www.your_domain.com;
ssl_certificate /path/to/your/ssl/certificate;
ssl_certificate_key /path/to/your/ssl/certificate/key;
# Additional SSL configuration goes here
location / {
# Your website root goes here
root /path/to/your/website;
index index.html index.htm;
}
}
上面的配置做了以下事情:
- 第一个
server
块监听 80 端口(HTTP)。当用户访问http://your_domain.com
或http://www.your_domain.com
时,Nginx 会返回 301 重定向,将请求重定向到 HTTPS。 - 第二个
server
块监听 443 端口(HTTPS)。它设置了 SSL 证书的路径,以及其他 SSL 相关的配置项。 - 在第二个
server
块中,location /
部分定义了网站的根目录。你需要将/path/to/your/website
替换为你实际的网站根目录路径。
注意:
- 你需要将
your_domain.com
替换为你自己的域名。 - 将
/path/to/your/ssl/certificate
和/path/to/your/ssl/certificate/key
替换为你的 SSL 证书和密钥的实际路径。 - 根据你的具体需求,你可能需要调整其他 SSL 相关的配置项。
在应用新的配置后,重启 Nginx 服务器以使更改生效。之后,当用户访问 HTTP 版本的网站时,Nginx 将自动将他们重定向到 HTTPS 版本。