全部用startssl生成的证书,配置Apache使其支持SSL

Apache的编译安装见这篇:

http://www.cnblogs.com/yjken/p/3921840.html

网上查阅了一大批资料,得知自己生成的证书是会被浏览器提示“证书不安全”的,我也就没有去生成证书,而是直接去了startssl 申请了一个免费的证书,据说startssl也是全球唯一的一个可以申请免费ssl证书的地方,并且是被主流浏览器(firefox,chrome,IE,safari)认可的,所以,对于安全性要求不高的情景,免费的证书已经完全满足需求了,当然,如果你的安全性要求比较高,startssl也是有更高级的安全证书支持的,不过,这些更安全的证书可就是收费的了。

简单说下申请证书的步骤:

1. 去www.startssl.com注册一个帐号

2. 因为startssl不是那种常见的帐号密码登录的模式,而是不需要密码,甚至也不需要帐号,而是安装一个startssl的个人证书到你的浏览器上,下次进入这个网站,直接在弹出的证书上点确认就可以了,所以,第一次注册后,根据它的引导,会生成一张个人证书,安装至你的浏览器上,这个证书只是用来登录startssl网站用的,没有其它用处。

3. 验证邮箱,验证域名,startssl需要确认你确实是某域名的所有者,所以它会首先要求验证域名的所有权,验证步骤也很简单,假设你的域名是abc.com , 那么它会将验证字符串发送到诸如[email protected]这样的邮箱,你打开这个邮箱,把验证字符串拷贝并粘贴过去,就算成功了,很简单。

4. 生成证书,首先会生成一张顶级域证书,再生成一张二级域证书(整个步骤根据它的向导来,就可以了),期间有个密码,是必须要记住的,不然生成的证书,就会没法用了。

最终会得到下面几个文件:

ca.pem  ,   ssl.crt    ,   ssl.key   ,   sub.class1.server.ca.pem

其实这张ssl.key是加密过的,直接配置到apache上也是可以的,只是这样很不方便,因为,每次启动apache都必须输入一遍密码,所以,你可以直接在线解密这个私钥的.

这样生成的私钥,配置到Apache上,就不需要启动Apaceh时输入密码短语了。

配置如下:

<VirtualHost *:443>
    SSLEngine On
    SSLCertificateFile certificate/ssl.crt
    SSLCertificateKeyFile certificate/ssl.key
    SSLCertificateChainFile certificate/sub.class1.server.ca.pem
    SSLCACertificateFile certificate/ca.pem

    ServerAdmin  [email protected]
    DocumentRoot "~/www/abc"
    ServerName www.abc.com:443
    ErrorLog "logs/error/abc_error_log"
    CustomLog "logs/custom/abc_log" common
</VirtualHost>

主要是这几行:

    SSLEngine On
    SSLCertificateFile certificate/ssl.crt
    SSLCertificateKeyFile certificate/ssl.key
    SSLCertificateChainFile certificate/sub.class1.server.ca.pem
    SSLCACertificateFile certificate/ca.pem

这个服务器名称需要增加443,端口号:

ServerName www.abc.com:443

这样,配置就完成了,不过,如果你这个时候重启Apache,你会发现用https访问不了网站,我当时配置的时候,就忽略了这一点,结果找了一大堆资料,还是不行,没办法,只好自己研究了,去服务器上,用netstat命令查看,发现,完全没有开启433监听端口,也就是说Apache的配置上还漏了一条,我在“Listen 80”下面,又加了一行“Listen 443”

Listen 80
Listen 443

这样,再重启Apache,使用https方式,打开网站,畅通无阻,问题解决。

对了,如果你的Apache不是我的安装方式,可能还会出问题,就是,你可能压根就没有安装ssl,我在安装Apache的时候,是有这条的:

with-ssl=/usr/include/openssl

这样,安装了ssl功能,如果不是编译成静态的,而是动态库的话,还得去掉下面这行的注释:

LoadModule ssl_module modules/mod_ssl.so

好了,这样,一般是不会有什么问题的了。

时间: 2024-08-29 14:23:56

全部用startssl生成的证书,配置Apache使其支持SSL的相关文章

配置apache使之支持浏览器端的缓存

当直接在浏览器中输入一个URL,或者点击一个链接的时候,那么浏览器缓存就会起作用,如果缓存没有过期,那么浏览器会从本地读取资源,不会发起HTTP请求,如果缓存过期,那么浏览器会发起新的浏览器请求. 一.适用直接访问,非F5刷新页面的情况下 Expires是HTTP/1.0的缓存头, Cache-Control: max-age 是HTTP/1.1是用来进行HTTP缓存的头.Expires指定了资源过期的绝对时间,GMT格式,Cache-Control: max-age指定了资源过期的相对时间,单

配置 squid 使其支持 访问https站点

需求:让用户通过squid访问https网站 注意和配置squid使其支持https不同 网上的资料基本都是给squid配置一个证书,但直觉告诉我这并不能解决我们的问题 进入正题,通过之前配置好的squid访问http站点可以正常访问, 但无法访问https开头的网站 查找问题最好的方法就是分析日志 access.log中发现如下信息 NONE/400 4280CONNECT error:method-not-allowed - NONE/- text/html 查看 squid.conf ,默

配置nginx使之支持pathinfo

phalcon项目,oneinstack环境lnmp.配置文件:/usr/local/nginx/conf/vhost/dldh.ccc.conf自动生成的. 问题:除首页外,其他都打不开,且样式文件也打不开.http://dldh.ccc/index.php/back/css/bootstrap.min.csshttp://dldh.ccc/index.php/backend/index/index都报: Access denied. 解决办法:作修改如下. server { listen 8

如何配置IIS使其支持APK文件的下载

如何配置IIS使其支持APK文件的下载APK文件是安卓的安装程序的文件,IIS里的MIME里默认是不支持的.如果没有配置MIME时,直接输入网址要下载APK文件时,会提示找不到此文件.这里教你如何配置IIS的MIME设置,使其可以支持APK文件的下载.1.在管理工具里打开Internet 信息服务(IIS)管理器.然后选择需要配置的网站.2.右侧的界面中会显示该网站的所有功能配置,我们选择并点击进入“MIME类型”3.在右侧的操作区选择点击“添加”MIME.4.在弹出的添加窗口里的文件扩展名输入

linux ssl证书配置(apache)

1. 前提是 已通过第三方 申请到 .crt .key 和 .ca-bundle 文件 2. 将三个文件拷贝到linux服务器上 任意一个指定的目录 3. 找到要编辑的apache配置 Apache主配置文件通常叫做 httpd.conf 或 apache2.conf. 常见路径包括 /etc/httpd/ 或 /etc/apache2/ SSL 证书配置通常位于一个不同的配置文件的 <VirtualHost> 区块内. 配置文件可能位于诸如/etc/httpd/vhosts.d/, /etc

windows下面配置apache+https(利用SSL)服务器

1.下载带有openSSL的apache安装包,我下载的为apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安装后确认一下bin路径下的openssl.exe,ssleay32.dll和libeay32.dll,无误进行下一步. 2.修改两个配置文件,一个为conf/httpd.conf,另一个为conf/extra/httpd-ssl.conf (a)修改httpd.conf 为了使apache启动的时候调用ssl的服务,我们需要在配置文件中做一些修改.找到

Windows下配置Apache服务器并支持php

php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要把Apache理解成单独的服务器,并不一定和php搭档,只是和php配合是比较流行的一种组合方式,就比如lamp就是比较流行的网站架构,所以,首先我们来配置Apache,首先让服务器跑起来并能解析静态的html文件 首先我们去官网下载最新版本的Apache,首先来到首页:http://www.apa

简单配置nginx使之支持phpinfo

server { listen 80; server_name localhost; index index.html index.htm index.php; root /alidata/www/pro; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; in

配置IIS使其支持APK文件的下载

在管理工具里打开Internet 信息服务(IIS)管理器.然后选择需要配置的网站. 右侧的界面中会显示该网站的所有功能配置,我们选择并点击进入“MIME类型” 在左侧的操作区选择点击“添加”MIME.在弹出的添加窗口里的文件扩展名输入:APK 在MIME类型输入:application/vnd.android.package-archive 按确定.这就完成配置了,现在列表里就有一条apk的MIME.我们这里来验证一下结果如何,输入网址后,自动弹出了一个下载框,成功.