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

【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 头,让浏览器强制使用 HTTPSadd_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.lryc.cn/news/517206.html

相关文章:

  • clickhouse query_log 常用查询语句
  • 【Linux】RPMSG通讯协议介绍
  • Idea(中文版) 项目结构/基本设置/设计背景
  • 深入理解 Android 中的 ActivityInfo
  • Linux初识——基本指令
  • c/c++ 里的进程间通信 , 管道 pipe 编程举例
  • 【C++笔记】红黑树(RBTree)深度剖析和AVL树的对比分析
  • Pytorch初学
  • Golang学习笔记_20——error
  • 基于Vite+TS初始项目 | 不断更新
  • R语言装环境Gcc报错以及scater包的安装
  • 关于量子神经网络的思考
  • 注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
  • 使用 Conda创建新的环境遇到的问题
  • Flutter项目开发模版,开箱即用(Plus版本)
  • Spring Boot + Jasypt 实现application.yml 属性加密的快速示例
  • arcgisPro加载CGCS2000天地图后,如何转成米单位
  • 多模态论文笔记——GLIDE(DALL·E 2模型核心部件)
  • mybatisPlus动态sql语句 ${ew.sqlSegment}
  • 【工具】HTML自动识别用户正在讲话 以及停止讲话
  • 小程序与内嵌网页的数据通信
  • Android - NDK:编译可执行程序在android设备上运行
  • 快速上手:采用Let‘sEncrypt免费SSL证书配置网站Https (示例环境:Centos7.9+Nginx+Let‘sEncrypt)
  • shell技能树-扩展变量
  • 基于RedHat9部署WordPress+WooCommerce架设购物网站
  • LabVIEW瞬变电磁接收系统
  • Docker入门篇[SpringBoot之Docker实战系列] - 第534篇
  • Linux系统扩容根 (/) 文件系统空间
  • JavaScript之JQuery
  • JAVA学习记录2