apache之https

Apache之https

■ 安装openssl

___________________________________________________________

http://www.openssl.org/source/   #下载openssl
[[email protected]_server src]# tar xf openssl-1.0.1s.tar.gz
[[email protected]_server src]# cd openssl-1.0.1s
[[email protected]_server openssl-1.0.1s]# ./config 
[[email protected]_server openssl-1.0.1s]# make && make install
------------------------------------源码安装方式
[[email protected]_server src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gz
[[email protected]_server src]# tar xvf httpd-2.2.31.tar.gz
[[email protected]_server src]#cd httpd-2.2.31
[[email protected]_server httpd-2.2.31]#./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre --enable-ssl=shared --with-ssl=/usr/local/ssl     #此处选择动态模式,--enable-ssl=static --with-ssl=/usr/local/ssl选择静态
------------------------------------添加扩展模块方式
[[email protected]_server openssl-1.0.1s]# cd /usr/local/src/httpd-2.2.31/modules/ssl   #务必进入httpd源码目录
[[email protected]_server ssl]# /usr/local/apache2/bin/apxs  -i -c -a -D HAVE_OPENSSL=1 -I /usr/lib/openssl/engines/lib -lcrypto -lssl -ldl *.c     #

错误一、error "Unrecognized SSL Toolkit!、declaration for parameter ‘XXXXXX‘ but no such parameter

解决:添加-D HAVE_OPENSSL=1

错误二、undefined symbol: ssl_cmd_SSLMutex

解决:apxs编译追加模块成功,但是apache启动失败。出现这个错误后,我把运行apxs时指定mod_ssl.c改成*.c 。和添加mod_deflate不一样,ssl中包含多个源代码文件

错误三、undefined symbol: X509_INFO_free

解决:由于静态连接了 openssl的库造成的(默认),解决办法是添加-lcrypto -lssl -ldl参数

■ 创建私钥

___________________________________________________________

[[email protected]_server modules]# cd /usr/local/ssl/bin/          
[[email protected]_server bin]# openssl genrsa -out server.key 2048
[[email protected]_server bin]# cp server.key  /usr/local/apache2/conf/ssl.key

■ 生成证书请求(CSR)文件

___________________________________________________________

[[email protected]_server bin]# openssl req -new -key server.key -out certreq.csr 
Country Name (2 letter code) [XX]:cn                 #所在国家的ISO标准代号,中国为CN
State or Province Name (full name) []:zj            #单位所在地省/自治区/直辖市
Locality Name (eg, city) [Default City]:zs            #单位所在地的市/县/区
Organization Name (eg, company) [Default Company Ltd]:dx      #单位/机构/企业合法的名称
Organizational Unit Name (eg, section) []:zwy                #部门名称 
Common Name (eg, your name or your server‘s hostname) []:zwy    #此项必须与访问提供SSL服务的服务器时所应用的域名完全匹配   
Email Address []:       #邮件地址,不必输入,直接回车跳过
"extra"attributes                        #以下信息不必输入,回车跳过直到命令执行完毕

■ 备份私钥并提交证书请求

___________________________________________________________

请将证书请求文件certreq.csr提交给CA服务商(如天威诚信),并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用

■  获取服务器证书中级CA证书  

___________________________________________________________  

为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。

从邮件中获取中级CA证书:

将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为conf/ssl.crt/intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。


■ 获取EV服务器证书

___________________________________________________________  

将证书签发邮件中的从BEGIN到 END结束的服务器证书内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”) 粘贴到记事本等文本编辑器中,保存为ssl.crt/server.crt文件


■ Apache配置

___________________________________________________________  

[[email protected]_server ~]# vim /usr/local/apache2/conf/httpd.conf 
Listen  443
[[email protected]_server ~]#  vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
NameVirtualHost *:443
<VirtualHost *:443>
    DocumentRoot "/data/web/www"
    ServerName aaa.com:443
    ErrorLog "logs/error.log"
    CustomLog "logs/access.log" combined
     <IfModule mod_ssl.c>
        SSLEngine on
        SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
        SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
        SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
    </IfModule>
</VirtualHost>


:curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

解决:把443的VirtualHost 放到80的VirtualHost 前面;80 部分 NameVirtualHost *443部分NameVirtualHost *:443

时间: 2024-11-04 10:32:27

apache之https的相关文章

Ubuntu下配置apache开启https

一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那https到底是怎么开启的,随着疑问自己也了解https配置原理并在Ubuntu服务器上开启了https. 二.配置证书 配置https一个很重要的步骤就是配置证书. 1.创建证书 sudo apt-get install ssl-cert make-ssl-cert生成证书的方法有两种,一种是根据生成

Apache 配置 https

## Apache 配置 https > Apache 版本: **2.4.10** Linux 版本 : **Debian** ### 安装Apache控制台命令:` sudo apt-get install apache2 `安装好了Apache2会自动启动,但是自动启动的不包含https仅仅是http **默认的配置路径** Apache配置文件路径: ` cd /etc/apache2/`Apache默认日志路径: `cd /var/log/apache2` ### 配置https###

apache支持https訪問

apache支持https訪問 创建默认的证书:安装ssl模块# yum –y install mod_ssl重启apache服务# service httpd restart手动创建证书:安装 openssl# yum –y install openssl openssl-devel创建私钥# openssl genrsa –out server.key1024用私钥server.key文件生成证书签署请求CSR# openssl req -new -key server.key -out s

安装配置Apache支持https和fcgi

Apache安装及配置 1.1 下载软件 1.Apr :(wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.1.tar.gz) 2.Apr-util :(wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz) 3.Pcre :(wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.t

centos配置apache的https服务

因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache的mod_ssl.so模块 yum -y install mod_ssl 3.若启用了防火墙需要添加https服务(service iptables status或者在使用firewall的情况下用 systemctl status firewalld) 用iptables的情况 iptables 

mac中apache开启https功能,本地发布安装app

mac中apache开启https功能,本地发布安装app 最近app进入收尾阶段,发包比较频繁.很多手机都不在测试证书中,所以使用的是企业证书打包. 每次上传到外网服务器都很慢,需要15分钟左右.想想还是自己本地mac做个服务器下载比较快一点. 所以学了下apache开启https的内容,本文记录了自己的学习过程. 1-先制作自己的签名证书 在前面的apache相关中,已经在mac上开启了apache,为了后面手机安装证书方便,我是在 /Library/WebServer/Documents/

Apache配置HTTPS功能

apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥  openssl genrsa -des3 1024  > /usr/local/apache/conf/server.key    # 从密钥中删除密码(以避免系统启动后被询问口令) openssl rsa -in /usr/local/apache/conf/server.key > /usr/local/apa

Apache配置https

apache配置https一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书:openssl genrsa -des3 1024  > /usr/local/apache/conf/server.key建立服务器密钥  openssl rsa -in /usr/local/apache/conf/server.key > /usr/local/apache/conf/server2.key从密钥中删除密码(以避免系统启动后被询问口令) mv /us

Apache中https的详解及应用案例

Apache中https的详解及应用案例 一.https的简介 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版. 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果.HTTPS实际上应用了Netscape的安全全套接字层(SSL)作为HTTP应用层的子层.(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信.)S