Nginx HTTP重定向HTTPS(重定向次数过多)

Nginx Nginx HTTP重定向HTTPS 如果您是开发人员或系统管理员,则可能会定期与Nginx打交道。您可能会执行的最常见任务之一是将HTTP重定向HTTPS By myfreax 14 Sep 2022

Nginx字母发音为engine x,是一个开源网站的,高性能的HTTP和反向代理服务器,负责处理Internet上一些比较大站点的负载。

如果你是开发人员或系统管理员,则可能会定期与Nginx共处。您可能会开展的比较常见的每日每日任务之一是把HTTP重定向HTTPS。

与HTTP以纯文本方法消息推送和返回要求和回复不一样,HTTPS运用TLS/SSL数据库加密app客户端和服务器之间的通信。

运用HTTPS有很多好处。例如:所有数据都是双向数据库加密的。因此,一旦被阻止,则无法读取隐私数据即不容易是被中间人攻击的情况。

Google Chrome电脑电脑浏览器和流行电脑浏览器都会将您的网站标记为安全系数。HTTPS允许您运用HTTP/2合同书,Google偏爱HTTPS网站地址。一般通过HTTPS给予帮助,您的网站将排名更高一些。

在Nginx里将HTTP重定向到HTTPS的不二之选方法就是为了站点的每一个虚拟主机配置一个单独的server块。

您应该最好使用if指令重定向流量,因为她可能导致云主机行为无法预知。

在教学中,我们在这里说明如何在Nginx里将HTTP重定向HTTPS。包括将每个站点的HTTP重定向HTTPS,将所有站点/虚拟主机重定向到HTTPS,将非www重定向到www。

如果你不想科研这类,可以参考一下我们自己入门教程如何在Ubuntu 20.04的Nginx上配置Let's Encrypt SSL证书。

如何在Ubuntu 20.04的Nginx上配置Let’s Encrypt | myfreax
Web进行安全通信在于HTTPS,这需要使用个人数字证书,有利于浏览器验证Web云主机身份。在教学中我们在这里讨论如何使用Certbot常用工具给自己HTTP网站服务器,站点配置HTTPS的SSL证书

将每个站点的HTTP重定向HTTPS

要将独立网站地址重定向到HTTPS,请打开server虚拟主机配置文本文档然后再进行以下变动:

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

listen 80虚拟主机将监控服务器端口80上特殊域的传入连接。server_name myfreax.com www.myfreax.com -特殊server虚拟主机的域名。确保将它拆换给你的域名。

return 301 https://myfreax.com$request_uri将HTTP流量重定HTTPS。$request_uri变量是包含主要参数详尽原始要求URI。

一般,你还能将站点非www逐渐重定向到www或者反方向。例如,要将www要求重定向到非www,挑选以下配置:

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

将所有站点/虚拟主机重定向到HTTPS

倘若服务器上代管所有网站都配置为运用HTTPS,并且您不甘为每一个网站建设单独的虚拟主机配置,则可以创建一个通用性虚拟主机配置。该虚拟主机配置能把所有HTTP要求重定向HTTPS。

要创建一个通用性虚拟主机配置,这将会求助者重定向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 https://$host$request_uri 运用状态代码301(永久移动将流量重定向到相对应的HTTPS。 $host变量贮存请求的域名。

例如,倘若求助者在浏览器输入http://example.com/page2,则Nginx能把要求重定向到https://example.com/page2。尽量在每一个域前提下创建重定向,并非从全面性将HTTP重定向到HTTPS。

结论

一旦您的网站上用上SSL证书,就应该将HTTP重定向HTTPS。在Nginx中,将HTTP重定向HTTPS的不二之选方法有哪些创建一个单独虚拟主机并执行301重定向。

LINUX

如何在CentOS 8安装Nginx

2023-1-23 19:53:46

LINUX

如何在Debian 10上配置MySQL/MariaDB主从复制(百度文库如何免费复制)

2023-1-24 13:59:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索