如何配置Nginx将所有流量从http导向到https

如果您的网站安装NGINX并启用了SSL,则最佳做法是完全禁用HTTP,并将所有传入流量强制转到网站的HTTPS版本。这样可以避免内容重复,并确保该网站的所有用户都仅浏览您网站的安全版本。

对SEO提升有所帮助,因为搜索引擎更喜欢安全的网页。

假设您已经在Linux系统上使用NGINX,并希望将所有HTTP导向到HTTPS。即使用户碰巧点击了http://,站点也应该将其发送到正确且受保护的页面,该页面会立即发生而无需用户干预。

我们需要对NGINX服务器配置文件进行更改,以便导向流量。

  • $ sudo nano / etc / nginx /

注:需要确认配置文件的位置

在HTTP部分下,插入以下301复位向代码。请将示例域名替换为您站点的域名。

server {

    listen 80;

    server_name example.com www.example.com;

    return 301 https://example.com$request_uri;

}

在端口80上侦听到example.com和www.example.com的传入连接。然后,将这些连接复位向到相同的URL,但使用https://。

在HTTP块下方,如果未创建HTTPS块,则需要一个HTTPS块。

server {

    listen 80;

    server_name example.com www.example.com;

    return 301 https://example.com$request_uri;

}

server {

    listen              443 ssl;

    server_name         example.com;

    ssl_certificate     example.com.crt;

    ssl_certificate_key example.com.key;

    # other configuration

}