网上已经有很多关于这方面的文章,但是没有适合自己的,所以就要记录一下。
目前的redhat linux已经把https连接集成的系统当中,所以说如果是redhat的用户就不需要配置,直接使用https连接了。
问题的背景:
1. linux的环境上已经安装apache,并且可以正常使用。
2. 已经安装有openssl。
这样以来,就不可以使用编译的方法使用apache支持ssl,只能使用ssl_mod来支持ssl了。
处理的方法:
1. 安装ssl_mod,可能会有依赖的包没有安装,可以google一下依赖的so文件,就知道还需要安装哪个rpm了。
安装ssl_mod会添加以下几个文件:/etc/httpd/modules/mod_ssl.so
/etc/httpd/conf.d/ssl.conf
2. 修改/etc/httpd/conf.d/ssl.conf文件,添加下面的几行
<VirtualHost abc :443> #abc是你机器的hostname
SSLEngine On
SSLCertificateFile /etc/httpd/ssl/server.crt #关于如何生成这两个文件会在后面讲解
SSLCertificateKeyFile /etc/httpd/ssl/server.key
DocumentRoot "/opt/abc/web " #这个是主目录所在的路径
</VirtualHost>
3. 保存完了,使用命令apache -k restart 就可以了。(需要输入生成key的密码)
关于如何生成两个文件的问题,其实现在我还不清楚这个文件的作用是什么(因为只学习了一个小时),生成的方法就是抄其他TX的了。输出的文件名字只要看-out后面的选项就可以了
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.crt