SSL( 安全套接字层 )是一种加密协议,它允许服务器和客户端之间的安全数据流通过使用由证书颁发机构(CA)签署的数字证书使用对称/非对称密钥。
为Apache创建SSL证书
要求
本教程介绍了如何设置安全套接字层 (SSL)通讯安装在红帽企业版Linux / CentOS 7.0的Apache Web服务器上的密码协议,并生成自签名的证书和密钥使用bash脚本的帮助,大大的方法简化了整个过程。
第1步:安装和配置Apache SSL
1. Apache HTTP服务器上启用SSL使用下面的命令来安装SSL模块和这是需要SSL / TLS支持的OpenSSL工具包。
# yum install mod_ssl openssl
安装SSL模块
2. SSL模块已经安装完毕,重新启动httpd后台后,添加一个新的防火墙规则,以确保SSL端口- 443 -它开放给外部连接你的机器上听状态。
# systemctl restart httpd # firewall-cmd --add-service=https ## On-fly rule # firewall-cmd --permanent --add-service=https ## Permanent rule – needs firewalld restart
重新启动Apache服务
3.要测试SSL连接,打开远程浏览器和使用上HTTPS协议HTPS浏览到您的服务器的IP地址:// SERVER_IP。
测试SSL连接
第2步:创建SSL证书和密钥
4.服务器和客户端之间的先前SSL通信是使用默认的证书和密钥的安装自动生成的完成。 为了产生新的私钥和自签名证书对创建一个可执行文件系统路径($ PATH)以下的bash脚本。
在本教程中的/ usr /被选为local / bin目录/路径,请确保该脚本可执行位设置,然后,把它作为一个命令来创建的/ etc / httpd的/ SSL /新的SSL对证书和密钥的默认位置。
# nano /usr/local/bin/apache_ssl
使用以下文件内容。
#!/bin/bash mkdir /etc/httpd/ssl cd /etc/httpd/ssl echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!" read cert openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key chmod 600 $cert.key openssl req -new -key $cert.key -out $cert.csr openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!" ls -all /etc/httpd/ssl exit 0
创建自签名证书和密钥
5.现在让这个脚本可执行文件并运行它来生成一对新的证书和密钥为你的Apache SSL虚拟主机 。
与填写您的信息,并注意通用名值以符合您的服务器的FQDN或虚拟主机来匹配你会连接到一个安全的网站时,可以访问网址的情况下。
# chmod +x /usr/local/bin/apache_ssl # apache_ssl
输入SSL信息
6.证书和密钥生成后,该脚本将呈现存放在/ etc / httpd的/ SSL /位置的所有Apache的SSL对的长列表。
Apache SSL对
7.生成SSL证书和密钥的其他方法是通过在系统上安装加密-utils软件包,并使用genkey命令,它可以在PuTTY终端屏幕上使用时,尤其是强加一些问题,产生对。
所以,我建议只有当您直接连接到屏幕监视器时使用此方法。
# yum install crypto-utils # genkey your_FQDN
安装加密包
8.新的证书和密钥添加到您的SSL网站,打开你的网站的配置文件,并替换为新配对的位置和名称相应了SSLCertificateFile和了SSLCertificateKeyFile声明。
在VirtualHosts上启用SSL
9.如果证书不是由受信任的CA签发-证书颁发机构或证书谁建立连接的主机名不匹配的主机名,应该出现在你的浏览器一个错误,你必须手动接受证书。
SSL证书错误
在Apache上启用SSL
而已! 现在你可以使用apache_ssl作为RHEL / CentOS 7.0命令行来产生尽可能多的对自签名的证书和密钥你需要的,一切都会被保存在的/ etc / httpd的/ SSL /用700保护的密钥文件路径权限。