zoukankan      html  css  js  c++  java
  • [转]配置Apache服务器支持https协议和SSL证书

    建立网站时,特别是支付网站和电子商务网站,为了让客户信赖网站,让他们不把我们当做骗子,网站一般会安装SSL,我们访问网站时都是以https开头的,而不是以http开头的。下面是在windows环境下配置Apache服务器支持https协议和SSL证书。

    1.配置Apache服务器支持openssl

    配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块。在Windows下面单独安装openssl比较麻烦,最好还是安装那种绑定openssl的apache。我安装的是httpd-2.2.25-win32-x86-openssl-0.9.8y.msi,点击这里下载。

    安装完成之后,在Apache安装目录的bin目录下可以看到 libeay32.dll、openssl.exe、ssleay32.dll 等三个文件,如下图所示:

    apache 支持 ssl 的文件

    再查看一下modules目录下是否存在 mod_ssl.so,查看 conf目录下是否存在openssl.cnf。

    如果上面的都存在,可以确定Apache 能够支持 openssl 模块。

    2.生成相关的证书

       1). 使用DOS命令进入Apache bin目录

    windows DOS命令下进入Apache bin 目录

       2). 设置openssl环境变量

    使用DOS命令在bin目录下执行命令:set OPENSSL_CONF=..confopenssl.cnf,通过此命令设置openssl的环境变量,如果不执行此命令,后面的操作会报错。

    DOS命令设置openssl环境变量

       3). 生成server.key

    DOS下执行命令:openssl genrsa 4096 > server.key,执行了这个命令,会在bin目录下生成server.key。注释:这是使用128位的RSA算法生成的密钥,还可以使用其他的算法生成密钥,相关的用法可以使用搜索引擎搜索。4096是密钥的长度,这个值最好使用4096以上的值,必须是2的整数次方。

    命令生成openssl密钥

     4). 生成未签署的server.csr

    DOS命令下执行:openssl req -new -key server.key > server.csr,这个命令使用生成的密钥文件 server.key生成证书请求文件server.csr,执行这一命令之后,后面还要输入很多参数。

    Country Name (2 letter code) [AU]:CN                                                                        ISO国家代码(只支持两位字符)
    State or Province Name (full name) [Some-State]:Hu Bei                                         所在省份
    Locality Name (eg, city) []:Wu Han                                                                               所在城市
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mark Company    公司名称
    Organizational Unit Name (eg, section) []:IT                                                               组织名称
    Common Name (e.g. server FQDN or YOUR name) []:www.phpmarker.com       申请证书的域名
    Email Address []:phpmarker@163.com                                                                        管理员邮箱
    Please enter the following ‘extra’ attributes
    to be sent with your certificate request
    A challenge password []:                                                                                                    交换密钥 可空
    An optional company name []:                                                                                         可空

    openssl生成未签署的server.csr

     5). 签署服务器证书文件server.crt

    DOS命令下执行:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt,这个命令使用第三步和第四步生成的密钥和证书来生成证书server.crt,-days参数表示证书有效期,单位为天,x509表示生成的是X.509证书。

    openssl 签署服务器证书文件server.crt

     6). 查看证书详细信息

    DOS下执行命令:openssl x509 -noout -text -in server.crt,这个命令可以查看证书的详细信息

    openssl查看证书详细信息

    执行上面所有的命令之后,在Apache的bin目录下生成了三个文件server.key、server.csr、server.crt。

    https相关的密钥和证书文件

    注意:这样生成的证书只能作为测试使用,这种证书是不可信赖的,浏览器会给出警告的。如果想要真正使用,可以找相关提供证书的网站提供有关的证书。

    3.配置Apache服务器载入openssl相关的配置文件

    修改Apache conf目录下的httpd.conf配置文件找到 LoadModule ssl_module modules/mod_ssl.so,移除前面的#,找到 Include conf/extra/httpd-ssl.conf,移除前面的#

    4.修改httpd-ssl.conf文件

    httpd.conf文件载入的ssl配置文件为 conf/extra/httpd-ssl.conf,找到 <VirtualHost _default_:443>,修改里面的有关配置,我的配置如下:

    # General setup for the virtual host
    DocumentRoot “K:/wwwroot/mark1990.com”       网站路径
    ServerName www.phpmarker.com:443                   网站域名
    ServerAdmin phpmarker@163.com
    ErrorLog “K:/Apache/logs/error.log”
    TransferLog “K:/Apache/logs/access.log”

    SSLCertificateFile “K:/Apache/conf/server.crt”
    SSLCertificateKeyFile “K:/Apache/conf/server.key”
    SSLCertificateChainFile “K:/Apache/conf/server.crt”

    我是将 server.key、server.crt、server.csr移动到 conf 目录下

    5.修改host文件,重启Apache服务器

    进入 WindowsSystem32driversetc目录下,向 hosts添加127.0.0.1 www.phpmarker.com,重新启动Apache服务器,访问https://www.phpmarker.com/,出现如下界面:

    Apache https 证书安装完成

    出现这种界面,因为我们自己制作的证书,不被浏览器所信赖。我们查看证书详细情况:

    https 证书

     转载自:http://www.phpmarker.com/226.html

  • 相关阅读:
    GCD 使用说明
    iOS操作系统的层次结构
    Objective-C 类型转换
    UIView和Masonry实现动画效果
    iOS 常用手势
    SDUT 2610 Boring Counting(离散化+主席树区间内的区间求和)
    HDU 4417 Super Mario(主席树求区间内的区间查询+离散化)
    NBUT 1525 Cow Xor(01字典树+前缀思想)
    HDU 4825 Xor Sum(经典01字典树+贪心)
    HDU 1069 Monkey and Banana(二维偏序LIS的应用)
  • 原文地址:https://www.cnblogs.com/lyg1990/p/3841769.html
Copyright © 2011-2022 走看看