我们需要准备一台运行Nginx的云服务器,并且部署好域名的SSL证书。这篇帮助讲解如何把HTTP请求重定向到HTTPS请求。
第一步是定位到Nginx配置文件。默认情况下,Nginx配置文件的路径为:/etc/nginx/nginx.conf。对于运行多个网站的Web服务器,通常把网站的配置文件放在/etc/nginx/conf.d/目录下,每个网站一个配置文件。比如example.com网站的配置文件路径为:/etc/nginx/conf.d/example.conf。
把HTTP重定向到HTTPS的基本步骤是,在80端口监听的代码段中,增加类似下面的一行代码。
return 301 https://example.com$request_uri;
同时增加443端口的监听代码,并配置好SSL证书。下面是一个完整的配置示例,访问http://example.com和http://www.example.com,都会重定向到https://example.com。
http {
server {
listen 80;
server_name example.com www.example.com;
# Redirect all port 80 (HTTP) requests to port 443 (HTTPS).
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert-crt.crt;
ssl_certificate_key /path/to/cert-key.key;
# all other site settings go here (e.g. ssl, logs, site root)
}
}