如何在Nginx上把HTTP请求重定向到HTTPS请求?

  • 发布时间:2022-02-02 13:16:40
  • 阅读次数:3482

我们需要准备一台运行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)
    }
}

【全文完】

< 上一篇:如何在Apache上禁用目录浏览? 下一篇:如何在CentOS 7云服务器上使用Nginx设置HTTP授权? >