openssl证书及配置
我的环境是:Linux+Apache+MySQL+PHP
1.下载openssl 及相关依赖
#yum install -y openssl
2.进入目录 /etc/pki/tls/certs
#cd /etc/pki/tls/certs
3.生成私钥文件(key)
#openssl genrsa -des3 -out server.key
在提示后输入密码(密码不显示)
4.为避免每次服务启动都需输入证书密码,删除证书密码
#openssl rsa -in server.key -out server.key
5.用server.key生成证书
#openssl req -new -key server.key -out server.csr
参数说明:
-new:表示生成一个新证书签署请求
-key:用到的私钥文件
-out:证书的保存路径
-days:证书的有效期限,单位是day(天),默认是openssl.cnf的default_days
此时根据提示完成以下信息:
Country Name ( letter code) [XX]:CN
State or Province Name (full name) []:Yangzhou
Locality Name (eg, city) [Default City]:Yangzhou
Organization Name (eg, company) [Default Company Ltd]:No
Organizational Unit Name (eg, section) []:New
Common Name (eg, your name or your server's hostname) []:No
Email Address []:test@test.com
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:#可直接回车
An optional company name []:#若上面回车,这边直接回车
6.生成CA的key文件ca.key和根证书ca.crt
#openssl req -new -x509 -keyout ca.key -out ca.crt
此时提示信息与上一步类似
7.创建为根证书CA所需的目录及文件
#touch /etc/pki/CA/index.txt
8.指明证书的开始编号
#echo > /etc/pki/CA/serial
9.用CA证书为server.csr证书签名
#openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ../openssl.cnf
根据提示输入y,并回车
10.将ca.crt,server.crt,server.key复制到apache配置目录
例如:我的是/usr/local/apache/conf/
我在conf中创建ssl目录用来存放
# mkdir /usr/local/apache/conf/ssl
11.配置apache
编辑配置文件
vi /usr/local/apache/conf/httpd.conf
引入ssl配置文件,增加支持ssl:
Include conf/extra/httpd-ssl.conf 去掉前面的#
打开ssl模块
LoadModule ssl_module modules/mod_ssl.so 去掉前面的#
若没有找到这句,说明需要安装依赖包:mod_ssl,安装后就会在modules里面找到:
在apache的源码目录中的modules目录下找loggers,ssl这两个文件,若没有则需根据服务器apache版本下载对应版本:http://archive.apache.org/dist/httpd/
将下载好的modules下的loggers,ssl两个文件放至你的apache的源码目录modules下
查找openssl路径
whereis openssl进入apache的源码目录modules/ssl中
例如我的源码目录为/root/package/httpd-2.4.20
cd /root/package/httpd-2.4./modules/ssl执行(/usr/local/apache 是Apache的安装目录)
/usr/local/apache/bin/apxs -a -i -c -L/usr/lib/openssl/engines/lib -c *.c -lcrypto -lssl -ldl;完成后,在apache的安装目录下的modules目录会生成一个mod_ssl.so,同时httpd.conf中会增加一行LoadModule php5_module modules/libphp5.so
编辑httpd-ssl.conf文件
vi /usr/local/apache/conf/extra/httpd-ssl.conf
写入如下内容:
<VirtualHost *:>
ServerAdmin #输入的邮箱地址
php_admin_value open_basedir "/home/www/:/tmp/:/var/tmp/:/proc/"
DocumentRoot #工作目录,如/home/www
ServerName #域名:
ErrorLog "/home/wwwlogs/error_log"
CustomLog "/home/wwwlogs/access_log" combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl/server.crt#证书的路径
SSLCertificateKeyFile /usr/local/apache/conf/ssl/server.key#证书的路径 #
SSLCertificateChainFile /usr/local/apache/conf/ssl/ca.crt#证书的路径
Protocols h2 h2c http/1.1
<Directory "/home/www/">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.php index.html
</Directory>
</VirtualHost>
保存并重启Apache
apachectl -k restart
若出现这种报错
解决:在httpd.conf中找到
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 去掉前面的#
保存并重启
openssl证书及配置的更多相关文章
- 使用OpenSSL生成证书并配置Https
1.密钥.证书请求.证书概要说明 在证书申请签发过程中,客户端涉及到密钥.证书请求.证书这几个概念.我们以申请证书的流程说明三者的关系.客户端(相对于CA)在申请证书的时候,大体上有三个步骤: 第一步 ...
- linux下安装Apache(https) 服务器证书安装配置指南
一. 安装准备 1. 安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz 下载Openssl:http: ...
- iOS push全方位解析(二)【译文】"——生成OpenSSL证书,Provisioning Profile
这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的 ...
- Ubuntu下使用openssl为apache2配置ssl
安装apache2 sudo apt-get install apache2 安装openssl 一般系统自带,可以通过openssl version查看,如果没有, sudo apt-get ins ...
- 【转】服务器证书安装配置指南(Weblogic)
服务器证书安装配置指南(Weblogic) 详情请点击: http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpe ...
- 1.App爬取相关库的安装(安装Charles及手机端证书安装配置)
一.官网下载Charles安装包: https://www.charlesproxy.com/download1.下载对应版本 我这里下载的是 win 64 bit (下载完解压,双击打开charle ...
- 服务器证书安装配置指南(IIS7.0)
一. 生成证书请求 1. 进入IIS控制台 进入IIS控制台,并选择服务器的服务器证书设置选项. 2. 添加证书请求 进入服务器证书配置页面,并选择“创建证书申请” 3. ...
- nginx配置openssl证书
引用出处: https://blog.csdn.net/liuchunming033/article/details/48470575 证书生成基本步骤: 生成私钥(.key)-->生成证书请求 ...
- Linux 部署Nginx反向代理服务 使用openssl自生成证书并配置https
1.安装Nginx编译所依赖的包 正常centos中可以使用yum安装一下依赖包: yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...
随机推荐
- Linux运维之--zabbix使用(实时更新)
之前安装的是zabbix3.x版本,今天尝试安装zabbix4.2版本,并做个总结.建议生产环境还是使用3.4版本比较好,因为4.2版本上可能语法又增加了一些,所以建议使用熟练的版本 1.首先是安装z ...
- Javaweb学习(二):Http通信协议
当我们开始jsp/servlet编程之旅之前,我们还需要知道一些关于网络通讯方面的一些知识.这样能更加有助于我们的理解,希望大家能看懂我的描述,而不至于在学习的路上一知半解.(手动比❤) 认识Ht ...
- burpsuite联合sqlmap扫描注入点
其实我们在众测的时候完全可以使用burpsuite联合sqlmap测试目标的注入漏洞.对get和post型注入都支持. 先来记录proxy的log , 记住路径 把proxy拦截关掉 接下来浏 ...
- PyQt5--QFontDiaglog
# -*- coding:utf-8 -*- ''' Created on Sep 17, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...
- [python]pip 版本9.0.1升级到10.0.1故障解决办法
问题背景: 在做android自动化时使用到第三方库uiautomator时,提示要安装,但安装该uiautomator库时提示当前的pip版本偏低,需要安装10.0.1版本方可.但在升级到升级到该版 ...
- saltstack二次开发(三)
以下代码实现的功能: 通过saltstack的httpapi在minion上安装软件. vim saltapi.py #!/usr/bin/env python # -*- coding: utf-8 ...
- 《Linux大棚命令百篇下》网络篇的总结
本文是<Linux大棚命令百篇下>网络篇的总结 ping -c 指定数量,在windows下会自动停止,linux下会一直ping下去 -q 简短报告 -s 指定每次ping的数据包大小, ...
- Docker技术入门与实战 第二版-学习笔记-8-网络功能network-2-相应配置
1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(dock ...
- 集成Glide4.3.1出错!AbstractMethodError: abstract method "void com.bumptech.glide.module
项目中原本是用的Glide3.7.0,一切功能正常,但是集成了网易云信的UIKIT后,就出问题了,发现是Glide4.0的问题. Glide4.0,始终会报这么一个错,就算是最简单的加载也仍然报错. ...
- Python2.7-argparse
argparse模块,用于方便地编写用户友好的命令行接口,可以自动生成帮助信息,用法信息和错误处理 1.模块对象 1.1 ArgumentParser 对象 1.1.1 初始化构建类:Argument ...