专栏首页在Debian和Ubuntu上使用Apache的SSL证书

在Debian和Ubuntu上使用Apache的SSL证书

本指南将向您展示如何在Debian和Ubuntu系统上启用SSL来确保通过Apache部署的网站的安全。原文地址

写在前面的话

本指南假设您在Debian 8+或Ubuntu 14.04+版本上运行Apache 2.4+。在浏览本指南之前,请确保在您的Linode上执行了以下步骤:

  • 熟悉我们的入门指南并完成Linode主机名和时区的配置。
  • 完成我们的托管网站指南,并创建一个您希望使用SSL保护的网站。
  • 按照我们的指南获取自签名商业 SSL证书。
  • 如果在同一IP地址上托管多个具有商业SSL证书的网站,请使用TLS 的服务器名称标识(SNI)扩展。大多数现代Web浏览器都支持SNI。如果您希望从运行旧版浏览器的客户端(例如Windows XP的Internet Explorer)接收连接,则需要联系支持部门以请求额外IP地址。

配置Apache,启用SSL证书

  1. 编辑/etc/apache2/sites-available目录下的虚拟主机配置文件,指明证书文件路径。对于每个虚拟主机,复制下面的配置。将配置中的example.com用您自己的域名替换。您还需要确保将SSLCACertificateFile值配置为指向上一步中指定的ca-certificates.crt文件:
   ## /etc/apache2/sites-available/example.com.conf 

<VirtualHost \\\*:443>   
    SSLEngine On
    SSLCertificateFile  /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile   /etc/ssl/private/example.com.key
    SSLCACertificateFile    /etc/ssl/certs/ca-certificates.crt  #If using a self-signed certificate, omit this line     
    ServerAdmin info@example.com
    ServerName www.example.com 
    ServerAlias www.example2.com #If using alternate names for a host
        DocumentRoot /var/www/html/example.com/public\\\_html/
    ErrorLog /var/www/html/example.com/log/error.log 
    CustomLog /var/www/html/example.com/log/access.log combined
</VirtualHost>
  1. 确保已启用Apache SSL模块,并启用虚拟主机配置:
a2enmod ssl
a2ensite example.com
  1. 重启Apache:
service apache2 restart
  1. 如果出现故障,可能需要重新启动系统。

测试配置

配置完成后,某些浏览器可能会正确显示网站,尽管还可能存在错误。在自己配置的验证网站中使用测试页验证ssl配置,然后执行以下步骤。

  1. 使用openssl s_client检查错误
openssl s\_client -CApath /etc/ssl/certs/ -connect example.com:443
  1. 通过Qualys SSL labs SSL Server Test进行深入分析

您现在应该可以在启用SSL的情况下访问您的网站。

更多信息

有关此主题的其他信息,您可能需要参考以下资源。虽然提供这些是希望它们有用,但请注意,我们无法保证外部托管材料的准确性或及时性。

本文的版权归 Noel 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Linode上使用Docker部署nginx容器

    根据Docker官网(Docker.com)的说法,容器应该是一个“轻量级,独立的,可执行的软件包,包括运行它所需的一切:代码,运行时,系统工具,系统库和设置。...

    Noel
  • CentOS上的FirewallD简介

    FirewallD是防火墙用于实现持久化网络流量规则的前端控制器。它提供命令行和图形界面,可在大多数Linux发行版中使用。与直接控制iptables相比,使用...

    Noel
  • Python之‘数据结构’

    简介 数据结构基本上就是--它们是可以处理一些数据的结构。或者说,它们是用来存储一组相关数据的。在Python里面有三种内建的数据结构--列表、元组和字典。 一...

    用户1173509
  • Redis源码解析——有序整数集

            有序整数集是Redis源码中一个以大尾(big endian)形式存储,由小到大排列且无重复的整型集合。它存储的类型包括16位、32位和64位的...

    方亮
  • JS进阶系列02-JS面向对象的三大特征之封装

    JS 作为面向对象的一门语言,拥有和其他面向对象语言一样的三大特征,即封装(encapsulation)、继承(inheritance )和多态(polymor...

    love丁酥酥
  • 属性动画源码分析分析版本api 24

    用户1127566
  • python list的排列组合

    用户2398817
  • bug诞生记——无调用关系的代码导致死锁

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    方亮
  • PHP数组is_*()对比和解析

    如is_null,is_object,is_array,is_string,is_resource,is_bool,is_long,is_float 今天补充一...

    php007
  • 面试题40(关于运算符的优先级以及字符串的拼接的理解)

    下面这三条语句? ---- System.out.println(“is ”+ 100 + 5); System.out.println(100 + 5 +“...

    Java学习

扫码关注云+社区

领取腾讯云代金券