zoukankan      html  css  js  c++  java
  • Ubuntu下配置Apache开启HTTPS

    一、HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
      那https到底是怎么开启的,随着疑问自己也了解https配置原理并在Ubuntu服务器上开启了https。
      
     二、配置证书
      
       配置https一个很重要的步骤就是配置证书。
      1、创建证书
       sudo apt-get install ssl-cert
       make-ssl-cert生成证书的方法有两种,一种是根据生成按工具默认的方式生成,一种是按模板文件生成
       #默认的方式生成
        sudo make-ssl-cert generate-default-snakeoil
       #按模板文件生成
        sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/apache2.pem
      2、通过openssl命令行创建自签名证书(这里生成的证书也采用pem格式,这个pem格式档案中包含了私钥和公钥(证书)两部分内容。如果你将keyout和out分别采用不同的文件名,那keyout和out所对应的文件就会分别存放私钥和公钥(证书)。)
      sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/apache.pem -out /etc/ssl/private/apache.pem -nodes -days 999
      #信息注解
      Country Name (2 letter code) [AU]:CN ←输入国家代码
      State or Province Name (full name) [Some-State]:JIANGSU ← 输入省名
      Locality Name (eg, city) []:SHANGHAI ←输入城市名
      Organization Name (eg, company) [Internet Widgits Pty Ltd]:YIQU ← 输入公司名
      Organizational Unit Name (eg, section) []:RSA ← 输入组织单位名
      Common Name (eg, YOUR name) []:linuxidc.com ← 输入主机名(想要开启https的主机名)
      Email Address []:dybaid@163.com ←输入电子邮箱地址

      3、签署证书
      sudo  openssl genrsa (-des3) 1024 >server.key //括号里的 命令可以不加  这个是密码验证 加了使用证书就需要输入密码

      4、生成证书请求文件
        openssl req -new -key server.key > server.csr

     三、配置Apache
      1、开启SSL模块
      a2enmod ssl
      2、启用SSL站点
      a2ensite default-ssl
     3、加入监听端口
      sudo vim /etc/apache2/ports.conf
        #编辑Apache端口配置,加入443端口(HTTPS采用的443端口传输数据)
      Listen 443
     4、配置虚拟主机
      编辑default-ssl文件,加入证书对应的主机头。
      sudo vim /etc/apache2/sites-enabled/default-ssl
        ServerName linuxidc.com
      5、配置SSL证书
        按如下配置
      SSLEngine on
      SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
      SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
      SSLCertificateChainFile /etc/ssl/certs/server-ca.crt
      重新启动Apache

    然后https://xxxx.xxx  测试下

    浏览器可能会报证书不合法 可以添加例外或者其他仍然访问就好了  自签名证书浏览器一般会提示不合法

    配置完之后大家可以用抓包工具看下数据传输是否加密了

  • 相关阅读:
    Linux命令选项及参数解析 getopt() getopt_long() 函数
    找不到文件或程序集名称“DreamweaverCtrls”的解决方法
    #include file 与#include virtual的区别
    用dw(dreamweaver)开发asp.net,连接数据库时出现“http错误500,服务器内部错误”的解决方法
    [ASP.Net]ASP.NET中上传文件
    [.net]"Request.Form出现乱码"的解决方法
    正式进驻博客园
    [ASP.NET] 限制上传文件类型的两种方法(转)
    错误类型:“系统找不到 Microsoft.Office.Interop.Word"
    从客户端检测到有潜在危险的Request.Form 值
  • 原文地址:https://www.cnblogs.com/flywong/p/9842097.html
Copyright © 2011-2022 走看看