0

0

Nginx如何将HTTP重定向到HTTPS

WBOY

WBOY

发布时间:2023-05-13 09:52:13

|

5592人浏览过

|

来源于亿速云

转载

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; 
}

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

  1. Listen 80 default_server – 这将指示您的系统捕获端口80上的所有HTTP通信

  2. Server_name _ – 在接到请求后的匹配顺序

  3. Return 301 https://$host$request_uri – 这告诉您的搜索引擎将其永久重定向。它指定变量$host 保存域名。

    短影AI
    短影AI

    长视频一键生成精彩短视频

    下载

更改配置设置后,需要在系统上重新加载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; 
}

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

  1. Listen 80 – 使用端口80,服务器将侦听指定域名的所有传入连接。

  2. Server_name linuxmi.com www.linuxmi.com – 它指定域名。因此,将其替换为您要重定向的网站域名。

  3. Return 301 https://linuxmi.com$request_uri – 将流量移至该站点的HTTPS版本。

  4. $request_uri变量用于完整的原始请求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。

通过改变Nginx配置文件设置,您可以轻松地将指定域名或全部重定向到HTTPS。我们在文中提到的这种方法,可以通过改变用户体验,使您的网站更安全。

相关专题

更多
Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

0

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

53

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

57

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

15

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

130

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

138

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号