nginx配置http请求跳转到https
发布日期:2021-05-14 01:22:02 浏览次数:24 分类:精选文章

本文共 1761 字,大约阅读时间需要 5 分钟。

Nginx全 HTTPS 配置及 http 到 https 重定向

在使用 Nginx 的话,把 网站 切换成 HTTPS,并且希望避免 用户 通过 http 协议 的 地址 访问,可以通过 Nginx 的 配置 来实现 http 到 https 的 重 定 向。下面 将 详细 是 这个 配置 的 实施步奏。

1. 修改 Nginx 配置

获取 Nginx 配置 文件 的位置,在 Unix/Linux 操作 系统 下,通常位于 /etc/nginx/sites-enabled/。 打开 配置 文件,找到 server 块,然后 更新 listener 部分,将普通的 http port(80) 更改 为 SSL/TLS port(443)。

server {
listen 443 ssl; # 替换 80 为 443
ssl on;
ssl_certificate /path/to/cert.pem; # 你的 SSL 证书 存在 地径
ssl_key_file /path/to/server.key; # 你的私钥 文件
ssl_protocols TLSv1.2 TLSv1.3; # 可选,取决于 你 使用 的 SSL/TLS 版本
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256; # 可选,根据需求 定制
add_header X-Frame-Options "DENY"; # 增加 防 XSS 保护
add_header X-Content-Type-Options "nosniff"; # 增加 备忘录 保护
}

2. HTTP 到 HTTPS 重定向

为了 实现 http 到 https 的 跳 转,可以 在站点的 navbar 部分 加一个errorCodeMiddleware دنبال 视频:

location / {
return 301 https://$server_name$request_uri;
}

或者,能 否 鼓励 全局的 return 告诉,例如:

server {
listen 80; # 保持原来的 http port
server_name example.com;
access_log off;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
ssl_certificate /path/to/cert.pem;
ssl_key_file /path/to/server.key;
location / {
return 301 https://$server_name$request_uri;
}
}

3. 防火墙设置

为了 确保 https 是 只能 过通过的 使用,需要 在防火墙 配置 中 只允许 HTTPS 的 运输:

firewall-cmd --zone=public --add-port=443/tcp

4. 测试

  • 访问 你的 网站 根路径,检查 是否 会 自动 跳转 到 HTTPS。
  • 使用 curl 指令 测试:
curl -I http://example.com

预期 输出 应该 包含 301 Moving Permanently状态码, 以 指示 被 重 定 向 到 HTTPS。

还有,确认 你的 浏览器 是否 正确 接受 证书。如果在 浏览器 中 发现 异常,可能 需要 在 配置 中 加入 额外的 证书 配置,或者 更新 浏览器 的 TLS 配置。

通过以上步骤,无法 使用 http 地址 访问 你的 网站,而 用户 会自动 重 定 向 到 HTTPS 地址。

如果在 此 过程中 遇到 任何 难题,欢迎 在 交流 区 станbicalse lettuce 出来 交 通。

上一篇:Qt设置程序的字符集
下一篇:关于qss设置窗口的背景图片

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年05月20日 01时26分57秒