基于openssl搭建https服务

多种应用层协议,例如http,ftp,smtp等都是明文协议,而这些服务在互联网通信中是不可或缺的,而有时安全显得特别重要,例如网购的时候,所以出现了ssl/tls的技术,那么现在就来实现以下基于ssl搭建https服务

  1. 查看当前httpd服务器是否安装了mod_ssl模块

    httpd -M

    一般在使用rpm包安装的时候,不会安装该模块,在编译安装httpd的时候,在./configure --enable-ssl编译该模块

  2. 如果单独使用rpm安装mod_ssl,可以看到安装这个模块生成的文件

    首先 ,会在/etc/httpd/conf.d目录下生成一个ssl.conf,这就是用于配置ssl的配置文件,还会生成一个动态加载模块,用于实现该功能。

  3. 使用另一台虚拟机创建成为一个私有CA(过程不再赘述),本地切换至/etc/httpd目录下创建一个ssl目录,用于存放自己的私钥,以及由CA签署后等到的证书

    可以看到,私钥已经创建完毕,并生成了签署请求apache.csr,我们假设已经被CA 签署,并其人证书就保存在该目录下,名为apache.crt

    https的会话建立过程于http不同,因为https会话在tcp的三次握手之后要建立ssl会话,由于ssl会话是基于ip地址的,所以单个ip地址之上只能有一个https服务,如果使用了基于域名的虚拟主机,那么就只有其中一台,该台主机名应在生成证书签署请求的时候指定

  4. 编辑/etc/httpd/conf.d/ssl.conf文件

    该文件中需要特别注意的:

    <VirtualHost _default_:443>,这一项应该修改为我们提供https服务的主机名,例如

    <VirtualHost www.abc.com:443>

启用这两项,DocumentRoot,应该和使用http访问相同网站时一致

ServerName,定义主机名

注意,https的错误日志定义与http一致,访问日志是使用Transferlog指令,然后定义访问日志格式时仍使用Customlog定义

要使用ssl功能,SSLEngine 必须为on

将证书以及私钥文件的路径修改为正在使用的,一般放在服务的配置文件目录下就可以,例如此处就是/etc/httpd/ssl目录下的两个文件

同时注意主配置文件中使用http访问该主机时的目录访问配置<Directory>,如果只是提供https服务,可在该文件中直接定义

启动httpd服务,查看443端口是否已经监听,可将CA自签署证书导入浏览器进行测试。

时间: 2024-08-06 15:41:21

基于openssl搭建https服务的相关文章

如何实现基于lamp搭建https服务

如何实现基于lamp搭建https服务 lamp:服务架构 httpd:接收用户的web请求:静态资源则直接响应:动态资源为php脚本,对此类资源的请求将交由php来运行: php:运行php程序: MariaDB:数据管理系统: (一):  安装其相关服务 CentOS 6: httpd, php, mysql-server, php-mysql # service httpd  start # service  mysqld  start CentOS 7: httpd, php, php-

基于openssl的https服务的配置

openssl实现私有CA,并配置基于openssl的https服务的配置,原理如下图 在CA服务器上实现私有CA步骤如下: 1.生成一对密钥 2.生成自签证书 基本的配置如下代码; [[email protected] CA]# pwd /etc/pki/CA [[email protected] CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048) [[email protected] CA]# openssl req -ne

Nginx + openssl 搭建https服务

近期忙着和第三方短信公司对接短信上行接口.给予https和digest认证方式进行数据的传输.digest认证由前端phper进行实现,我需要完成nginx+ssl实现https服务.ssl使用openssl自己进行制作. SSL原理: 给予SSL原理知识,在这里不再过多阐述.想详细了解,可以猛戳此链接进行查看:http://www.fenesky.com/blog/2014/07/19/how-https-works.html 1.首先要生成服务器的私钥:    运行时会提示输入密码,此密码用

基于openssl的https服务配置

1.安装模块 [[email protected] yum.repos.d]# yum -y install mod_ssl [[email protected] yum.repos.d]# rpm -ql mod_ssl /etc/httpd/conf.d/ssl.conf 配置文件 /usr/lib/httpd/modules/mod_ssl.so /var/cache/mod_ssl /var/cache/mod_ssl/scache.dir /var/cache/mod_ssl/scac

基于openssl 的https服务配置

1.安装mod_ssl 2.在另一台机器上创建CA cd /etc/pki/CA (umask 077; openssl genrsa -out private/cakey.pem 2048) 3.生成文件的权限是600 4.vim  ../tls/openssl.cnf 5.找到 [ req_distinguished_name ] 6.将默认城市改成CN 7.将默认省份名称stateOrProvinceName_default 改为Hebei 8.城市名称 localityName_defa

基于Linux搭建apache服务后,怎么构建web虚拟主机?

虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每个站点实际上并不独立占用整个服务器,因此被称为"虚拟"web主机,通过虚拟web主机服务可以充分利用服务器的硬件资源. 使用httpd可以非常方便的去搭建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点.httpd支持的虚拟主机类型有这么三种(与Windows 的IIS服务一样): 1.相同IP.端口号.不同域名的虚拟主机: 2.相同IP.不同端口号的虚拟主机: 3.不同IP.相同端口号的虚拟主机

漫漫运维路——各种加密方式介绍及基于OpenSSL实现HTTPS

一.为什么要加密 在网络中通信有时通信双方会发送一些比较敏感的信息,如果直接明文在网上传输,就可能被居心叵测的人截获,从而达到其非法的目的.为保证通信双方信息传输不被第三方所知晓,使用加密技术把双方传输的数据进行加密,即使数据被第三方所截获,那么第三方也不会知晓其数据的真实含义.在此,通信双方所交换的信息中,未被加密的数据称为明文,而加密后的数据称为密文,加密采用的方式称作加密密钥. 二.常见加密方式以及其用途 对称加密 对称加密是指在加密通信过程中,把明文加密为密文的密钥和把密文解密为明文的密

tomcat搭建https服务

1.生成服务器站点证书 1) 生成密钥仓库 进入jdk的bin目录,如:D:\jdk1.6.0_16\bin 执行: D:\jdk1.6.0_16\bin\keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\server.keystore -validity 36500 (参数简要说明:“D:\server.keystore”含义是将证书仓库文件的保存路径,证书仓库文件名称是server.keystore :“-validity 3

基于openssl实现https访问

1.说明 部署之前,先举例说明一下,方便理解. 比如我想去租房子,于是便在某网站上搜寻,结果联系的时候发现好多都是假的. 有看上的房子吧,又担心房东是个骗子.这个时候,我为了租房,找到了一家房屋中介公司,虽然收费,但是可以放心的租到房子. 2.部署 CA server: 192.168.1.10 http server: 192.168.1.200 2-1)在CA上生成自签证 cacert.pem 切换到CA server: 192.168.1.10 2-1-1)创建私钥 #(umask 077