当前位置: 首页 > article >正文

【Nginx】设置https和http同时使用同一个端口访问

以下是一个同时使用 HTTP 和 HTTPS 并通过 8070 端口的配置示例:

server {
    listen 8070;
    server_name your_domain.com;

    location / {
        root /var/www/html;
        index index.html;
    }
}

server {
    listen 8070 ssl;
    server_name your_domain.com;

    # SSL 证书和私钥的路径
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    # 可选:设置 SSL 协议和加密套件
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;

    # 可选:设置 HSTS 头,让浏览器强制使用 HTTPS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

    location / {
        root /var/www/html;
        index index.html;
    }
}
  • 在上述配置中:
    • 第一个 server 块:
      • listen 8070;:让 Nginx 监听 8070 端口进行 HTTP 访问。
      • server_name your_domain.com;:指定服务器的域名,将 your_domain.com 替换为你的实际域名。
      • location /:将请求发送到 /var/www/html 目录下的静态文件,你可以根据需要修改,如将请求代理到其他服务器。
    • 第二个 server 块:
      • listen 8070 ssl;:让 Nginx 监听 8070 端口进行 HTTPS 访问。
      • ssl_certificate 和 ssl_certificate_key:指定 SSL 证书和私钥的路径。
      • ssl_protocols 和 ssl_ciphers:配置 SSL 协议和加密套件,提高安全性。
      • add_header Strict-Transport-Security:启用 HSTS,让浏览器强制使用 HTTPS。
      • location /:与 HTTP 部分类似,将请求发送到 /var/www/html 目录下的静态文件,你可以根据需要修改。

注意事项

  • 虽然可以在同一端口同时提供 HTTP 和 HTTPS 服务,但这种配置可能会引起混淆,并且不是一个推荐的最佳实践。通常建议将 HTTP 服务和 HTTPS 服务分别部署在不同的端口,例如 80 端口用于 HTTP,443 端口用于 HTTPS,然后使用重定向将 HTTP 请求重定向到 HTTPS 以确保安全。以下是一个将 80 端口的 HTTP 请求重定向到 443 端口的 HTTPS 的示例:
    server {
        listen 80;
        server_name your_domain.com;
        return 301 https://$host$request_uri;
    }


http://www.kler.cn/a/472463.html

相关文章:

  • Improving Language Understanding by Generative Pre-Training GPT-1详细讲解
  • Android 系统签名 keytool-importkeypair
  • 大数据-268 实时数仓 - ODS层 将 Kafka 中的维度表写入 DIM
  • springboot 集成 etcd
  • 【STM32+CubeMX】 新建一个工程(STM32F407)
  • WebSocket底层原理及 java 应用
  • 极客说|微软 Phi 系列小模型和多模态小模型
  • “深入浅出”系列之FFmpeg:(1)音视频开发基础
  • 【Vue3项目实战系列一】—— 全局样式处理,导入view-ui-plus组件库,定制个性主题
  • springboot3 redis 常用操作工具类
  • Lua语言的数据库交互
  • 在Windows上 安装使用repo
  • 【慢系统问诊】医疗大模型测评:自己百科 VS 医联 VS 满血未降智 o1 Pro
  • AI编程助手:2024年及未来软件开发的革命与挑战
  • STLG_01_17_程序设计C语言 - 文件管理
  • 【Rust自学】10.8. 生命周期 Pt.4:方法定义中的生命周期标注与静态生命周期
  • 解决npm报错:sill idealTree buildDeps
  • 计算机网络(第8版)第3章课后习题--透明传输
  • uniapp web-view调整修改高度设置
  • 25/1/4 算法笔记<强化学习> 生成对抗模仿学习
  • C++ this指针(八股总结)
  • k8s技术架构
  • MySQL 数据库的高可用性架构设计
  • GPIB通讯C#实战:控制Keysight 34461万用表连续采集1000个测量电压点
  • YOLOv10-1.1部分代码阅读笔记-checks.py
  • JavaEE初阶——计算机工作原理