zoukankan      html  css  js  c++  java
  • Web服务器 之 Debian下给apache加载ssl

    作者: chaisave

    来自: www.linuxsir.org

    在Debian下建好了apache1.3.28+php4+mysql,现在加ssl
    要有openssl,没有,debian应该会apt上吧

    1. apt-get install libapache-mod-ssl (carlos提示的,我在debian.org里搜,ssl就没找到),lib 会装在 /usr/lib/apache/1.3/ 里
    2. modules-config apache enable mod_ssl (注:如果之后,php不起作用了,就再加一次mod_php4)
    3. 修改 httpd.conf
    添加 Port 80
    Listen 80
    Listen 443
    添加 虚拟机(不一定非用,也可以把下列ssl配置加在全局配置里,不过,每个页面都跳出认证,原因没多想,反正虚拟机方便,网上都是这么干的)

    ServerName your.server.name
    DocumentRoot /var/www
    SSLCertificateKeyFile server.key (下面生成)
    SSLCertificateFile server.crt (同上 )

    4. 生成证书

    以下照抄 <> 一文 永远的unix http://www.fanqiang.com/a6/b8/20010722/1305001004.html
    以下操作都在 /etc/apache/ 里执行,至于证书该放在哪里? 自己看着办吧,我没经验

    先建立一个 CA 的证书,
    首先为 CA 创建一个 RSA 私用密钥,
    [S-1]
    openssl genrsa -des3 -out ca.key 1024
    系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。
    生成 ca.key 文件,将文件属性改为400,并放在安全的地方。
    [S-2]
    chmod 400 ca.key
    你可以用下列命令查看它的内容,
    [S-3]
    openssl rsa -noout -text -in ca.key

    利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)
    [S-4]
    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
    然后需要输入下列信息:
    Country Name: cn 两个字母的国家代号
    State or Province Name: An Hui 省份名称
    Locality Name: Bengbu 城市名称
    Organization Name: Family Network 公司名称
    Organizational Unit Name: Home 部门名称
    Common Name: Chen Yang 你的姓名
    Email Address: sunstorm@263.net Email地址
    生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。
    [S-5]
    chmod 400 ca.crt
    你可以用下列命令查看它的内容,
    [S-6]
    openssl x509 -noout -text -in ca.crt

    下面要创建服务器证书签署请求,
    首先为你的 Apache 创建一个 RSA 私用密钥:
    [S-7]
    openssl genrsa -des3 -out server.key 1024
    这里也要设定pass phrase。
    生成 server.key 文件,将文件属性改为400,并放在安全的地方。
    [S-8]
    chmod 400 server.key
    你可以用下列命令查看它的内容,
    [S-9]
    openssl rsa -noout -text -in server.key

    用 server.key 生成证书签署请求 CSR.
    [S-10]
    openssl req -new -key server.key -out server.csr
    这里也要输入一些信息,和[S-4]中的内容类似。
    至于 'extra' attributes 不用输入。

    你可以查看 CSR 的细节
    [S-11]
    openssl req -noout -text -in server.csr

    下面可以签署证书了,需要用到脚本 sign.sh ---->脚本在 /usr/share/doc/libapache-mod-ssl/example/ 里 我就直接cp 到/etc/apache/里了
    [S-12]
    sign.sh server.csr
    就可以得到server.crt。
    将文件属性改为400,并放在安全的地方。
    [S-13]
    chmod 400 server.crt

    删除CSR
    [S-14]
    rm server.csr

    好了,apachectl restart 吧。ssl在全局的配置,最好在load modules之后,要不apache起不了,还不报哪里错。
    好了,试试 https://your.server.name/ 吧,一切正常,应该跳出认证表单,可惜提示,不可信任,呵呵。

  • 相关阅读:
    落花美眷,终究抵不过逝水流年,回忆我的2016,展望2017。
    如何对于几百行SQL语句进行优化?
    基于.NET Socket API 通信的综合应用
    数据库备份定期删除程序的开发。
    如何开发应用程序将客户服务器数据库的备份,下载到本地的云服务上?
    从大公司做.NET 开发跳槽后来到小公司的做.NET移动端微信开发的个人感慨
    asp.net mvc entity framework 数据库 练习(一)
    ASP.NET CORE小试牛刀:干货(完整源码)
    [开源].NET数据库访问框架Chloe.ORM
    SqlBulkCopy简单封装,让批量插入更方便
  • 原文地址:https://www.cnblogs.com/licheng/p/1050059.html
Copyright © 2011-2022 走看看