用SSL和TinyCA保护你的web服务器

发布于 2022-08-27 23:24:24 字数 3219 浏览 7 评论 0

SSL非常适合HTTP,因为它能提供一些保护,即使只有通讯一方是结果认证的,在因特网上处理HTTP事物时,通常只有服务器是结果认证的,本文解释如何使用OpenSSL和TinyCA在OpenSuse 10.2服务器上安装一个虚拟主机。

◆步骤1:创建index页面

在“Apache虚拟主机快速搭建攻略”一文中,我们已经做了这件事情,现在只需要创建下面的目录:

mkdir /srv/www/htdocs/ssl

然后可以将你的web页面放入这个目录,我们只创建一个index.html文件,该文件的内容显示服务器的类型,文件内容样例:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
</head>
<body>
<div style="text-align: center;"><span
style="font-weight: bold;">This is my secure webserver working on
Port 443.<br>
<a href="http://www.linux-tip.net">Linux-Tip.net</a></span></div>
</body>
</html>

◆步骤2:在端口443上配置基于ip的虚拟主机

OpenSuse在/etc/apache2/vhosts.d目录下存放虚拟主机的配置文件,在启动过程中,Apache会自动应用该目录下所有的.conf文件,使用ssl模板,可以很轻松地创建一个新的配置文件:

cd /etc/apache2/vhosts.d/

cp vhost-ssl.template ssl.conf

下面这些行是你应该做适当修改的:

VirtualHost      192.168.33.234:443       用你的ip地址替换这里的ip地址,保留443端口

DocumentRoot         使用你在步骤1中创建的目录

SSLCertificateFile  使用步骤3中创建的服务器证书

SSLCertificateKeyFile       使用步骤3中创建的服务器密钥文件

SSLCACertificateFile         使用步骤3中创建的CA证书

这个配置文件最后看起来象:

<IfDefine SSL>
<IfDefine !NOSSL>

##
## SSL Virtual Host Context
##
<VirtualHost 192.168.33.234:443>
DocumentRoot "/srv/www/htdocs/ssl/"
ServerAdmin webmaster@linux-tip.netThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /srv/www/etc/server.crt
SSLCertificateKeyFile /srv/www/etc/server.key
SSLCACertificateFile /srv/www/etc/ca-cert.crt
#SSLVerifyClient require
#SSLVerifyDepth  1
<Files ~ ".(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/srv/www/htdocs/ssl/">
Options All
Order Allow,Deny
Allow from all
</Directory>
SetEnvIf User-Agent ".*MSIE.*"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/ssl_request_log   ssl_combined
</VirtualHost>
</IfDefine>
</IfDefine>

重要提示:要在Apache服务器上启用SSL支持,必须配置/etc/sysconfig/apache2文件,请将下面这行(大约在132行)修改为:

APACHE_SERVER_FLAGS="SSL"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文