基于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;openssl genrsa -out /etc/pki/CA/private/cakey.pem)

*说明:私钥的权限要设置到最低,可以使用子shell方式创建。

2-1-2)生成自签证书(用于发放给个人用户)
       #openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem

需要填写的内容,可以在配置文件中设置

#vim /etc/pki/tls/openssl.cnf

2-2-1)服务端请求生成证书

切换到http server:192.168.1.200

#yum install mod_ssl -y     #用于https的配置

#mkdir /etc/httpd/ssl

#cd /etc/httpd/ssl

#(umask 077;openssl genrsa -out httpd.key)  #生成私钥

#openssl req -new -key httpd.key -out httpd.csr  #生成证书请求

*注意:红色框中填写的内容要与在CA上设置内容一致(参考2-1-2)),黄色框中的域名就是CA要认证的域名。

2-2-2)将生成的httpd.csr证书请求文件传到CA server,由CA发送证书。

#pwd

/etc/httpd/ssl

#scp httpd.csr [email protected]:/tmp

2-2-3)切换到CA server,进行证书分发

#openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 365

将生成的证书发送给http server

#scp /tmp/httpd.crt [email protected]:/etc/httpd/ssl

2-2-4)切换到http server查看

#ls /etc/httpd/ssl

httpd.crt  httpd.csr  http.key

在/etc/httpd/conf.d/ssl.conf修改私钥和证书的存储位置,重启apache,查看443端口

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

SSLCertificateFile /etc/httpd/ssl/httpd.crt

#netstat -tunlp |grep httpd

tcp  0  0 0 0.0.0.0:80  0.0.0.0:*     LISTEN      15608/httpd

tcp  0  0 0.0.0.0:443   0.0.0.0:*     LISTEN      15608/httpd

2-3)客户端下载CA上的证书 cacert.pem文件 ,改名为cecert.crt.双击安装证书。

在本机hosts中做域名映射

192.168.1.200 www.slitobo.com

浏览器访问即可;

时间: 2024-10-16 18:41:07

基于openssl实现https访问的相关文章

基于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

基于openssl搭建https服务

多种应用层协议,例如http,ftp,smtp等都是明文协议,而这些服务在互联网通信中是不可或缺的,而有时安全显得特别重要,例如网购的时候,所以出现了ssl/tls的技术,那么现在就来实现以下基于ssl搭建https服务 查看当前httpd服务器是否安装了mod_ssl模块 httpd -M 一般在使用rpm包安装的时候,不会安装该模块,在编译安装httpd的时候,在./configure --enable-ssl编译该模块 如果单独使用rpm安装mod_ssl,可以看到安装这个模块生成的文件

基于nginx与OpenSSL实现https访问

注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了 自建证书: 通过openssl命令(软件包:openssl :openssl-devel) 1)创建私钥: openssl genrsa -out server.key 1024 2)证书请求: openssl req -new -out server.csr -key server.key  //填写信息,注意!!将Common Name (eg, your name or you

基于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

基于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

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

基于lamp+fastcgi+https搭建phpMyAdmin和wordpress

前言: lamp为网站搭建的很基本的一个架构,如果仅仅只是静态的网页文件,我们就可以通过基本的web服务器来处理.当我们需要处理动态内容时,比如把用户数据放在数据库,从数据库取出数据等等,我们就必须借助CGI连接到处理动态请求的应用.FastCGI作为一个常驻型的CGI,可以独立于apache服务,可以实现分布式的部署.接下来我们用一台 主机来搭建phpMyAdmin和wordpress,并且让wordpress实现https. 正文: 部署之前我们先简单介绍下我们用到的架构,不用多说lamp就

如何实现基于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-

web服务之Apache实现的https访问

本文旨在实践httpd-2.4基于域名的虚拟主机配置,让指定用户访问站点状态信息,并为站点提供https服务. 知识储备 HTTPS协议 HTTPS协议就是"HTTP协议"和"SSL/TLS"协议的结合,HTTP over SSL"或"HTTP over TLS",对http协议的文本数据进行加密处理后,成为二进制形式传输. SSL会话简化过程 (1) 客户端发送可供选择的加密方式,并向服务器请求证书: (2) 服务器端发送证书以及选定