Apache配置SSL 实现https访问

本次坏境:CA和apache为同一台主机

先使本机作为CA服务端:

[[email protected]~]#yum -y install openssl openssl-devel

[[email protected]~]#vi /etc/pki/tls/openssl.cnf

[ CA_default ]

dir = ../../CA

改为:

[ CA_default ]

dir= /etc/pki/CA

为了减少不必要的重复操作,可以预先定义[ req_distinguished_name ]下面的一些内容,自定义即可,具体的就不多说了

:wq

[[email protected]~]#cd /etc/pki/CA

[[email protected] CA]# mkdir certs newcerts crl

[[email protected] CA]# touch index.txt

[[email protected] CA]# echo 00 > serial

[[email protected] CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)  ##生成自签密钥

[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3657  ##生成自签证书

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.‘, the field will be left blank.

-----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BJ]:

Locality Name (eg, city) [HaiDian]:

Organization Name (eg, company) [TEXT]:

Organizational Unit Name (eg, section) [DEV]:

Common Name (eg, your name or your server‘s hostname) []:ca.text.com

Email Address []:[email protected]

由于openssl.cnf里面定义了部分内容,上面一直敲回车,直到Common Name (eg, your name or your server‘s hostname) []:  (此为CA服务名称,可自定义)

最后一个邮箱也可自定义

都敲完后,我们的CA服务端就完成了,继续往下做

Apache动态编译安装:

[[email protected] CA]# tar -xf httpd-2.2.9.tar -C /usr/local/src/

[[email protected] CA]#cd /usr/local/src/httpd-2.2.9/

[[email protected] httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib/ --with-included-apr --enable-so --enable-mods-shared=most

[[email protected] httpd-2.2.9]#make;make install

Apache配置ssl:

[[email protected] CA]# rpm -qa |grep mod_ssl

[[email protected] CA]# yum -y install mod_ssl ##如没有mod_ssl直接使用yum安装即可

[[email protected] CA]# rpm -ql mod_ssl  ##查看mod_ssl生成的配置文件位置

[[email protected] CA]# cd /etc/httpd

[[email protected] httpd]# mkdir ssl

[[email protected] httpd]# cd ssl

[[email protected] ssl]# (umask 077; openssl genrsa -out httpd.key 2048)  ##生成密钥

[[email protected] ssl]#openssl req -new -key httpd.key -out httpd.csr  ##生成证书签署请求

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.‘, the field will be left blank.

-----

Country Name (2 letter code) [CN]:

State or Province Name (full name) [BJ]:

Locality Name (eg, city) [HaiDian]:

Organization Name (eg, company) [TEXT]:

Organizational Unit Name (eg, section) [DEV]:

## 上面五条一定要和CA服务器设置一致,本次实验都是在一台主机上,所以直接敲回车即可

Common Name (eg, your name or your server‘s hostname) []:text.bj.com  ##一定要是客户端访问的地址,而不是上面CA设置的地址

Email Address []:[email protected]  ##自定义

[[email protected] ssl]#openssl ca -in httpd.csr -out httpd.crt -days 3657  ## ca签署命令,敲两次y和回车即可(由于都在一台机器上,直接签署就可以了,如果在不同机器上,把http的证书签署请求文件拷贝到CA服务端签署后拷贝回来就可以了)

[[email protected] ssl]#vi /etc/httpd/conf.d/ssl.conf

默认443端口不变

查看下面两句是否存在,不存在加上

AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl .crl

<VirtualHost _ default_443>

改为:

<VirtualHost 192.168.1.99:443>  ##web服务器或web虚拟主机IP地址

添加下面两句

ServerName text.bj.com  ##上面定义的地址

DocumentRoot "/var/www/html"  ##网站目录位置,如设置的虚拟主机,此位置需和apache配置文件里虚拟主机定义的位置一致

SSLEngine on  ##确保开启

SSLCertificateFile /etc/httpd/ssl/httpd.crt  ## 证书存放位置

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key  ##密钥存放位置

:wq

[[email protected] ssl]#echo text.bj.com > /var/www/html/index.html

[[email protected] ssl]#/etc/init.d/httpd start

[[email protected] ssl]#netstat –tnlp  ##查看443端口是否开启

访问https://text.bj.com

提示“该网站的安全证书不受信任”

解决:

拷贝/etc/pki/CA/cacert.pem到客户端上安装即可(winPC后缀改为.crt后双击安装)

Apache配置SSL 实现https访问,布布扣,bubuko.com

时间: 2024-10-25 09:56:39

Apache配置SSL 实现https访问的相关文章

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端

怎么使用Nginx配置ssl实现https访问的方法

大家都知道现在如果你访问一个网站,如果是http开头的访问,状态栏地址会显示不安全 但如果是https访问,会显示安全  原因: HTTP(超文本传输协议)被用于在Web浏览器和网站服务器之间,以明文方式传递信息,不提供任何方式的数据加密,因此使用HTTP协议传输隐私信息(如:银行卡号.密码等支付信息)非常不安全. 为了解决这一安全缺陷,网景公司设计了SSL(Secure Sockets Layer)协议,在HTTP的基础上加入了SSL(Secure Sockets Layer)协议,SSL依靠

Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796.html) 2.证书颁发机构(CA)颁发的有效证书,其中我们需要两个文件,一个是 .key文件(私钥),另一个是 .crt或.pem文件(公钥) 核心功能 ? 通过指定由受信任的证书颁发机构(CA)颁发的有效证书,将服务器配置为侦听端口上的HTTPS流量. ? 通过配置nginx.conf文件来加强

Centos7.5 下Nginx配置SSL支持https访问。

核心配置: ? 通过指定由受信任的证书颁发机构(CA)颁发的有效证书,将服务器配置为侦听端口上的HTTPS流量.? 通过配置nginx.conf文件来加强安全性.示例包括选择更强大的密码,并将所有流量通过HTTP重定向到HTTPS.? 添加HTTP Strict-Transport-Security(HSTS)头部确保客户端所做的所有后续请求仅通过HTTPS. ####################################################################

windows下apache配置ssl(https)服务器

SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全, 可以通过apache自带的openssl进行配置: 步骤如下: 1.安装有openssl模板的apache,大多数都会有,判断有没有 只需要查看 apache\bin 下有没有 openssl.exe 运行程序: 2.配置 apache/conf/httpd.conf 文件,如下: #LoadModule ssl_module modules/mod_ssl.so #Include conf/extra

Windows下Apache配置SSL以支持https及出错的解决办法

步骤一:安装apache,使其支持SSL,并安装php 1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g 2.配置apache以支持SSL: 1)打开apache的配置文件conf/httpd.conf LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf 去掉两行前面的# 2)注意修改httpd-ssl.conf 文件里的两个字段: S

Apache 配置多个HTTPS站点

工作中经常会遇到多个站点实现https访问,并指向同一个网页,本文将详解如何在Centos 环境下配置Apache多站点实现HTTPS访问. 准备工作 OS:CentOS release 6.8 (Final)Web:Apache 安装Apache 1.安装Apache [[email protected] ~]# yum install httpd -y 2.启动服务 [[email protected] ~]# service httpd start Starting httpd: [ OK

centos7 apache配置ssl支持tlsv1.0 1.1 1.2

centos7 apache配置ssl支持tlsv1.0 1.1 1.2原创93dd大智若愚 最后发布于2017-05-11 17:25:39 阅读数 2162 收藏展开按照阿里云的证书配置如下安装证书: 文件说明: 1. 证书文件214089425050896.pem,包含两段内容,请不要删除任何一段内容. 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214089425050896.key.证书公钥文件public.pem.证书链文件chain.pem. ( 1 ) 在Apache的

windows下Apache配置SSL安全连接

什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www.openssl.org/source/ 一.下载并安装 支持SSL的 Apache  1.安装配有SSL模块的apache, 下载地址http://httpd.apache.org/download.cgi#apache23附件提供httpd-2.2.15-win32-x86-openssl-0.