在Ubuntu下为Apache增加SSL支持

首先需要确保Apache安装成功,正常配置和运行。

安装必要的软件

安装openssl:

apt-get install openssl

安装ssl-cert:

apt-get install ssl-cert


加载apache ssl模块

加载apache ssl模块:

a2enmod ssl

创建apache下的ssl目录:

mkdir /etc/apache2/ssl

创建证书相关文件

进入/etc/apache2/ssl目录,创建私鈅,需要输入两次相同的关键字:

openssl genrsa -des3 -out my-server.key 1024

创建证书:

openssl req -new -key my-server.key  -x509 -out my-server.crt -config /etc/ssl/openssl.cnf

如果希望延长有效时间默认1个月,可增加参数:

-days 3650

创建和运行站点

创建站点文件/etc/apache2/sites-available/ssl,主要内容:

NameVirtualHost *:443 <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory><Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> SSLEngine on SSLCertificateFile /etc/apache2/ssl/my-server.crt SSLCertificateKeyFile /etc/apache2/ssl/my-server.key </VirtualHost>

ssl站点设为可运行:

a2ensite ssl

重启apache后,即可以通过https访问。因为是自己生成证书,在通过ie7访问的时候会出现以下情况,选择继续浏览此网站即可。

111

手工导入证书

如果如上面的方式通过浏览器访问,会在ie7地址栏中有警告:

在google chrome中也会有警告信息:

113

如果嫌这个比较扎眼(其实不影响使用),可以手工导入证书,将/etc/apache2/ssl/my-server.crt文件发布,供用户下载。下载后双击该文件:

114

点击:安装证书

115

需要选择根证书条目。安装好后,访问即可不再有警告提示。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyyjdw.html