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

Ubuntu下配置Nginx HTTPS

  HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL。

  它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同 于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广 泛用于万维网上安全敏感的通讯,例如交易支付方面。

  确认Nginx支持OpenSSL模块

  运行下面的命令:

? View Code BASH
1 2 3 4 5 6 
nginx -V   nginx: nginx version: nginx/1.0.0 nginx: built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)  nginx: TLS SNI support enabled nginx: configure arguments: --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

  如果没有发现–with-http_ssl_module这个编译参数,说明不支持。Nginx默认是不支持SSL的,需要加入–with-http_ssl_module参数重新编译。

  生成证书

  SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通 道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据 的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能 了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通 过服务器证书验证他所访问的网站是否是真实可靠。

  证书分自签证书和CA机构签发的证书,具体生成方法参见:[Ubuntu下配置Apache HTTPS]一文 http://www.mike.org.cn/articles/ubuntu-config-apache-https/

  你也可以申请免费的StartSSL CA证书:

  StartSSL(公司名:StartCom)也是一家CA机构,它的根证书很久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。

  申请地址:http://www.startssl.com

  具体申请方法可参考以下几篇文章:

  http://blog.s135.com/startssl/
  http://www.21andy.com/blog/20100224/1714.html
  http://www.deepvps.com/apply-startssl-ssl-certificate.html

  配置Nginx

  修改nginx.conf中相应的server段,加入如下内容:

? View Code BASH
1 2 3 4 5 6 7 8 
listen 443; server_name www.mike.me; #启用SSL模块 ssl on; #证书文件放置路径 ssl_certificate /etc/ssl/private/yiji.cer; #私钥文件放置路径 ssl_certificate_key /etc/ssl/private/yiji.key;

  注:SSL数字证书路径和域名根据实际情况修改。

  重启Nginx

? View Code BASH
1 2 3 4 
#测试Nginx主配置文件是否正确 nginx -t #平滑重启Nginx nginx -s reload

  使用HTTPS协议访问网站

  访问https://ip或域名,浏览器会弹出安装服务器证明书的窗口。说明服务器已经支持SSL了。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr 故障解决
  • 轻博客是款好产品
  • MVC下的客户端模板技术
  • 关于系统“登陆类型”的定义
  • [转]在做自动化测试之前你需要知道的
  • vSphere 4系列之一:vSphere简介
  • Outlook自动答复设置
  • mysql体系结构和存储引擎结构
  • 基于 hive 的日志数据统计实战
  • Windows 7系统IE8浏览器如何启用或禁用自动保存网页密码的功能?
  • centos7 服务器部署ssh证书授权登录
  • 自己动手写printf
  • yum安装MySQL
  • Android开发技巧:像QQ一样输入表情图像
  • Linux有时会出现“You have new mail in /var/spool/mail/root”
  • 深入了解以太坊
  • MaxCompute访问TableStore(OTS) 数据
  • spring security oauth2 password授权模式
  • Web设计流程优化:网页效果图设计新思路
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 深入浅出Node.js
  • 实现菜单下拉伸展折叠效果demo
  • 译米田引理
  • 自定义函数
  • ​Java基础复习笔记 第16章:网络编程
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ### RabbitMQ五种工作模式:
  • #{}和${}的区别是什么 -- java面试
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core控制台应用程序初识
  • .NET 常见的偏门问题
  • .net 程序发生了一个不可捕获的异常
  • .NET4.0并行计算技术基础(1)
  • .Net多线程Threading相关详解
  • .NET未来路在何方?
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @JsonSerialize注解的使用
  • [1204 寻找子串位置] 解题报告
  • [240607] Jina AI 发布多模态嵌入模型 | PHP 曝新漏洞 | TypeScript 5.5 RC 发布公告
  • [AI资讯·0612] AI测试高考物理题,最高准确率100%,OpenAI与苹果合作,将ChatGPT融入系统中,大模型在物理领域应用潜力显现
  • [Android] 修改设备访问权限
  • [Android]如何调试Native memory crash issue
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [ASP]青辰网络考试管理系统NES X3.5
  • [C++] 模拟实现list(二)