Skip to content


Apache SSL证书加密配置

  网络环境安全问题越来越严峻的今天,队了大型的交易类网站,一些个人或企业的网站或系统比如电子邮箱,注册会员或者登陆的时候,也需要建立SSL通道,保证密码安全不被窃取。本文以apache为例,配置SSl证书建立HTTPS访问的加密通道。

  1.部署SSL证书的准备工作

  除了已经安装好Apache的web环境,我们还需要安装SSL模块

# yum install mod_ssl openssl

  2. 生成一个自签名证书

  首先,假设我们的域名为tetst.com,我们来生成一个2048位的加密私钥

  # openssl genrsa -out test.key 2048

  然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等

  # openssl req -new -key test.key -out test.csr

  最后,生成类型为X509的自签名证书。有效期设置1年

  # openssl x509 -req -days 365 -in test.csr -signkey test.key -out test.crt

  PS:第2个命令是生成证书请求,如果你需要向CA申请SSL证书,email一定要是你的域名后缀的。提交给 ssl 提供商的时候就是这个 csr 文件。当然我这里并没有向证书提供商申请,而是自己签发证书。

  3.将生成的证书文件移动到相应目录

  # cp test.crt /etc/pki/tls/certs/
  # cp test.key /etc/pki/tls/private/        
  # cp test.csr /etc/pki/tls/private/

  4. 配置Apache 配置文件

  对于LAMP 环境,在建立网站的时候,我个人习惯是直接在/etc/httpd/conf.d目录下直接建立vhost.conf文件来配置网站,当然也有人习惯直接配置httpd.conf,其实原理一样。我们只需要在vhost.conf中把80端口改成443,然后加入下面粗体字三行代码。

<VirtualHost *:443>
ServerAdmin web@iewb.net
ServerName test.com
ServerAlias test.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/oapod.crt
SSLCertificateKeyFile /etc/pki/tls/private/oapod.key

DocumentRoot /home/test.com/public_html/
ErrorLog /home/test.com/logs/error.log
CustomLog /home/test.com/logs/access.log combined
</VirtualHost>
 

  重新启动httpd服务后,即可通过https访问网站了,只法这自行颁发的SSL证书能够实现加密传输功能,但浏览器并不信任,会有安全提示。

  只不过进行如上配置后, http服务不能访问了,如果我们需要两种访问都可以访问,那我们在vhost.conf中再建立一个主机,允许80端口访问。

……
<VirtualHost *:80>
ServerAdmin web@iewb.net
ServerName test.com
ServerAlias test.com
DocumentRoot /home/test.com/public_html/
ErrorLog /home/test.com/logs/error.log
CustomLog /home/test.com/logs/access.log combined
</VirtualHost>

  还有一种情况是我们需要用户进行http访问的时候自动转成https加密访问,

<VirtualHost *:80>
ServerAdmin web@iewb.net
ServerName test.com
Redirect permanent / https://test.com/
</VirtualHost>

 

  只局部配置HTTPS访问/指定路径

RewriteEngine on
RewriteBase /test
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

  配置文件参数    说明

SSLEngine on    启用SSL功能
SSLCertificateFile    证书文件
SSLCertificateKeyFile    私钥文件
SSLCertificateChainFile    证书链文件

 

Posted in 技术文章.

Tagged with , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.