Nginx,读作“Enginex”,是一个免费、开源、基于Linux的高性能Web和反向代理服务器,负责管理和处理互联网上最大网站流量的负载.Nginx是一个强大的重定向工具,可以在您的系统上轻松配置,将不安全或未加密的HTTPWeb流量重定向到加密和安全的HTTPSWeb服务器。如果您是系统管理员或开发人员,那么您应该经常使用Nginx服务器。在这篇文章中,我们将研究如何将Web流量从HTTP重定向到Nginx中的安全HTTPS。HTTP消息标头以明文字符串格式传输,而HTTPS使用SSL/TLS来加密客户端和服务器系统之间的通信。因此,HTTPS应该取代HTTP,原因有很多:客户端-服务器之间双向的所有数据都是加密的。但是,如果被拦截,任何人都无法访问敏感信息。当您使用HTTPS时,GoogleChrome和其他浏览器会认为您的网站域是安全的。HTTPS版本提高了您使用HTTP/2协议指定的网站的性能。如果您通过HTTPS为您的网站域提供服务,则该网站在Google上的排名会更高,因为它有利于所有受HTTPS保护的网站。最好在每个站点版本的单独服务器块中将Nginx中的流量HTTP重定向到HTTPS。还建议避免使用“if”方向重定向流量,这可能会导致意外的服务器行为。将所有流量从HTTP重定向到HTTPS在Nginx配置文件中添加以下更改,以便将所有流量从HTTP重定向到HTTPS版本:server{listen80default_server;server_name_;return301https://$host$request_uri;}下面,我们来详细说明对于上述每一项:Listen80default_server-这将指示您的系统捕获端口80上的所有HTTP流量Server_name_-收到请求后的匹配序列Return301https://$host$request_uri-这告诉你搜索引擎永久重定向它。它分配变量$host来保存域名。更改配置设置后,需要在系统上重新加载Nginx服务。因此,使用以下命令重新加载Nginx服务:$sudosystemctlreloadnginx在Nginx中将指定域名的HTTP重定向到HTTPS在您的域上安装SSL证书后,您将有两个针对该域名的服务器块选项。第一个块是HTTP版本监听80端口,第二个块是HTTPS监听443端口。但是,要将网站域从HTTP重定向到HTTPS,需要打开Nginx配置。您可以在/etc/nginx/sites-available目录中找到此配置文件。如果没有找到这个文件,可以在/etc/nginx/nginx./usr/local/nginx/conf或/usr/local/etc/nginx中搜索,然后在这个文件中做如下修改:server{listen80;server_namelinuxmi.comwww.linuxmi.com;return301https://linuxmi.com$request_uri;}让我们逐行理解上面的代码。Listen80-使用端口80,服务器将监听指定域名的所有传入连接。Server_namelinuxmi.comwww.linuxmi.com-它指定域名。因此,将其替换为您要重定向的网站的域名。返回301https://linuxmi.com$request_uri-将流量转移到站点的HTTPS版本。$request_uri变量用于完整的原始请求URI,其中还包含参数。使用以下方法,您可以将流量从HTTPSwww版本重定向到您网站的非www版本。对于非www和www版本,建议在单独的服务器块中创建重定向。让我们用一个例子来解释。如果你想将wwwHTTPS请求重定向到非www版本,你应该遵循这个配置:.com;#...othercodereturn301https://linuxmi.com$request_uri;}server{listen443sslhttp2;server_namelinuxmi.com;#...othercode}将域名替换为您的域名,例如www.linuxmi.com。总结我们已经讨论了如何在Nginx服务器上将流量从HTTP版本重定向到HTTPS。通过更改Nginx配置文件设置,您可以轻松地将特定域名或全部重定向到HTTPS。我们在本文中提到的方法可以通过改变用户体验来使您的网站更加安全。
