安卓系统

将HTTP重定向到nginx中的https

V2ray官方原生搭建V2ray+WS+TLS+Nginx, 前端centos官方页面,特殊时期为你网络保驾护航!没有前端网页谈什么伪装?Nginx详细部署,SSL证书申请,http重定向htts

V2ray官方原生搭建V2ray+WS+TLS+Nginx, 前端centos官方页面,特殊时期为你网络保驾护航!没有前端网页谈什么伪装?Nginx详细部署,SSL证书申请,http重定向htts

目录:

Anonim

在本指南中,我们将说明如何在Nginx中将HTTP通信重定向到HTTPS。

Nginx的发音是“ engine x”,它是一个免费的,开源的,高性能的HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。

与HTTP不同,HTTP以纯文本形式发送和返回请求和响应,HTTPS使用TLS / SSL加密客户端和服务器之间的通信。

通过HTTP使用HTTPS有很多好处,例如:

  • 所有数据都是双向加密的。 因此,如果敏感信息被拦截,将无法读取.Google Chrome和所有其他流行的浏览器都会将您的网站标记为安全.HTTPS允许您使用HTTP / 2协议,从而大大提高了网站性能.Google偏爱HTTPS网站。 如果通过HTTPS提供服务,则您的网站排名将会更高。

在Nginx中将HTTP重定向到HTTPS的首选方法是为站点的每个版本配置一个单独的服务器块。 您应该避免使用if指令重定向流量,因为这可能会导致服务器的意外行为。

每个站点将HTTP重定向到HTTPS

要将单个网站重定向到HTTPS,请打开域配置文件并进行以下更改:

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

让我们逐行分解代码:

  • listen 80 服务器块将监听指定域在端口80上的传入连接。 server_name linuxize.com www.linuxize.com 指定服务器块的域名。 确保将其替换为域名。 return 301 将流量重定向到站点的HTTPS版本。 $request_uri 变量是包含参数的完整原始请求URI。

通常,您还希望将站点的HTTPS www版本重定向到非www,反之亦然。 推荐的重定向方式是为www和非www版本创建一个单独的服务器块。

例如,要将HTTPS www请求重定向到非www,应使用以下配置:

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

将所有站点重定向到HTTPS

如果服务器上托管的所有网站都配置为使用HTTPS,并且您不想为每个站点创建单独的HTTP服务器块,则可以创建一个通用的HTTP服务器块。 该块会将所有HTTP请求重定向到适当的HTTPS块。

要创建一个通用的HTTP块,它将访问者重定向到站点的HTTPS版本,请打开Nginx配置文件并进行以下更改:

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

让我们逐行分析代码:

  • listen 80 default_server 将此服务器块设置为所有不匹配域的默认(全部捕获)块。 server_name _ - _ 是一个无效域名,从不与任何实际域名匹配。 return 301 将通信重定向到状态代码为301(永久移动)的相应HTTPS服务器块。 $host 变量保存请求的域名。

例如,如果访问者在浏览器中打开 http://example.com/page2 ,则Nginx会将请求重定向到 https://example.com/page2

如果可能,最好在每个域的基础上创建重定向,而不是从全局HTTP到HTTPS重定向。

结论

在网站上安装SSL证书后,应将HTTP流量重定向到HTTPS。

在Nginx中,将HTTP重定向到HTTPS的首选方法是创建一个单独的服务器块并执行301重定向。

Nginx的