热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache服务器安装配置ssl访问

互联网的线路侦听无处不在,明文传输的数据一不留神就可能被窃

互联网的线路侦听无处不在,明文传输的数据一不留神就可能被窃取。而Apache的SSL加密连接可以帮助浏览者更加安全可靠的传输数据。通常来说,普通的HTTP协议URL是以 http:// 开头,而SSL加密协议则是以 https:// 开头。本文将介绍CentOS系统下通过仓库(yum、apt-get)配置apache中SSL加密模块的方法。

实验环境:

CentOS release 5.7 (Final)
Apache/2.2.3

首先安装Apache [root@www ~]# yum install httpd

大多数情况下,安装Apache需要附带安装好php、Mysql等模块,可以参考VPS管理百科以前的文章《Apache+PHP+MySQL环境配置教程》,本文将不再赘述。

部署好Apache环境后,开始

安装SSL模块 [root@www ~]# yum install mod_ssl

安装完成,直接重启Apache服务:

[root@www ~]# /etc/init.d/httpd restart

由于安装mod_ssl会创建一个默认的SSL证书,路径位于 /etc/pki/tls ,此时可以立即通过https访问服务器了:

https://IP/

如果不使用默认的证书,也可以使用OPENSSL手动创建证书。

使用OPENSSL手动创建证书

先执行以下命令安装OPENSSL:

[root@www ~]# yum install openssl

完成后即可按照以下步骤生成证书文件:

1、创建私钥

[root@www ~]# openssl genrsa -out server.key 1024

2、用私钥 server.key 文件生成证书签署请求 CSR

[root@www ~]# openssl req -new -key server.key -out server.csr

此步骤需要输入一些证书信息,解释如下:

Country Name (2 letter code) [GB]:【在此输入两个字符的国家名。中国的为 CN 】
State or Province Name (full name) [Berkshire]:【省份名称,如北京为 beijing

Locality Name (eg, city) [Newbury]:【城市名称,如 beijing】
Organization Name (eg, company) [My Company Ltd]:【公司名称】
Organizational Unit Name (eg, section) []:【部门名称】
Common Name (eg, your name or your server’s hostname)
[]:【姓名,通常即证书名】
Email Address []:【电子邮箱地址】

随后会要求输入一个challenge password(密码),无需输入,后面一律直接回车即可。

3、生成证书CRT文件

[root@www ~]# openssl x509 -days 3650 -req -in server.csr -signkey server.key -out server.crt

上面生成的证书有效期为10年(呵呵太长了点,一般三年就行了)

这时证书的相关文件就都已经生成好了。当前文件夹下应该有server.crt、server.csr、server.key这三个文件。

如果你是个完美论者,理所当然应该把这三个文件丢到证书的“官方目录”中去,省的把文件胡乱放置以后找不着:

[root@www ~]# mkdir /etc/pki/tls/mycert
[root@www ~]# mv server.* /etc/pki/tls/mycert

最后仅仅需要修改配置文件来指定证书路径:

4、指定证书路径

打开Apache的SSL配置文件 /etc/httpd/conf.d/ssl.conf

[root@www ~]# vi /etc/httpd/conf.d/ssl.conf

找到如下一节:

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/pki/tls/mycert/server.crt

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you’ve both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/pki/tls/mycert/server.key

注意红色的文字修改的部分。保证其路径分别指向刚刚创建的server.crt与server.key即可。

5、重启Apache2

[root@www ~]# /etc/init.d/httpd restart

这时新的证书便已经生效了。刷新浏览器,点击浏览器中的证书标志,便可以看到刚刚制作的证书信息:



推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • mysql 授权!!
    为什么80%的码农都做不了架构师?MySQL的权限系统围绕着两个概念:认证-确定用户是否允许连接数据库服务器授权-确定用户是否拥有足够的权限执 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
author-avatar
徐刚珠宝银饰_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有