美文网首页
Nginx怎样将HTTP重定向到HTTPS

Nginx怎样将HTTP重定向到HTTPS

作者: 易霂 | 来源:发表于2020-12-06 22:50 被阅读0次

    | Nginx是一个强大的重定向工具,可以轻松配置在您的系统上重定向不安全或未加密的HTTP网络流量到加密和安全的HTTPS网络服务器。 |

    Nginx,发音为“Engine x”,是一个免费、开源、基于Linux的高性能Web和反向代理服务器,负责管理和处理互联网上最大的网站流量的负载。Nginx是一个强大的重定向工具,可以轻松配置在您的系统上重定向不安全或未加密的HTTP网络流量到加密和安全的HTTPS网络服务器。如果你是一个系统管理员或开发人员,那么你应该经常使用Nginx服务器。

    在这篇文章中,我们将研究如何在Nginx中将Web流量从HTTP重定向到安全的HTTPS。HTTP消息头,以明文的字符串格式传送,而HTTPS使用SSL/TLS对客户机和服务器系统之间的通信进行加密。因此,由于许多原因,HTTPS应该替代HTTP:

    1.客户端-服务器之间双向的所有数据均已加密。但是,如果被拦截,任何人都无法访问敏感信息。

    2.当您使用HTTPS时,Google Chrome和其他浏览器会认为您的网站域是安全的。

    3.HTTPS版本使用HTTP/2协议改善了您指定的网站性能。

    4.如果您通过HTTPS为您的网站域提供服务,则该网站将在Google上排名更高,因为它偏爱所有受HTTPS保护的网站。

    5.对于每个站点版本,最好在单独的服务器块中将Nginx中的流量HTTP重定向到HTTPS。还建议避免使用“ if”方向重定向流量,这可能会导致服务器异常行为。

    将所有流量从HTTP重定向到HTTPS

    将以下更改添加到Nginx配置文件中,以便将所有流量从HTTP重定向到HTTPS版本:

    server { 
        listen 80 default_server; 
        server_name _; 
        return 301 https://$host$request_uri; 
    } 
    

    下面,我们详细说明每个上述术语:

    更改配置设置后,需要在系统上重新加载Nginx服务。因此,使用以下命令重新加载Nginx服务:

    $ sudo systemctl reload nginx 
    

    在Nginx中将指定域名的HTTP重定向到HTTPS

    在您的域上安装SSL证书之后,您将有两个用于此域名的服务器块选项。一个块用于监听端口80的HTTP版本,第二个版本用于监听端口443的HTTPS。然而,要将一个网站域名从HTTP重定向到HTTPS,你需要打开Nginx配置。您可以在/etc/nginx/sites-available目录中找到这个配置文件。如果你没有找到这个文件,你可以搜索它/etc/nginx/nginx./usr/local/nginx/conf或/usr/local/etc/nginx,然后在这个文件中执行以下更改:

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

    让我们逐行了解上面的代码。

    使用以下方法,您可以将流量重定向到HTTPS www版本到站点的非www版本。对于非www和www版本,建议在单独的服务器块中创建重定向。让我们用一个例子来解释。如果要将www HTTPS请求重定向到非www版本,则应遵循以下配置:

    server { 
        listen 80; 
        server_name linuxmi.com www.linuxmi.com; 
        return 301 https://linuxmi.com$request_uri; 
    } 
    server { 
        listen 443 ssl http2; 
        server_name www.linuxmi.com; 
        # . . . other code 
        return 301 https://linuxmi.com$request_uri; 
    } 
    server { 
        listen 443 ssl http2; 
        server_name linuxmi.com; 
    
        # . . . other code 
    } 
    

    用您的域名替换域名,例如www.linuxmi.com

    总结

    我们已经讨论了如何将流量从HTTP版本重定向到Nginx服务器上的HTTPS。通过改变Nginx配置文件设置,您可以轻松地将指定域名或全部重定向到HTTPS。我们在本文中提到的这种方法,可以通过改变用户体验,使您的网站更安全。

    相关文章

      网友评论

          本文标题:Nginx怎样将HTTP重定向到HTTPS

          本文链接:https://www.haomeiwen.com/subject/yewawktx.html