zoukankan      html  css  js  c++  java
  • CentOS服务器下安装配置SSL

    https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。

    一、安装apache和ssl模块

    1、安装apache

    #yum install httpd

    2、安装ssl模块

    #yum install mod_ssl

    重启apache:

    #service httpd restart

    安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了:

    https://X.X.X.X/

    如果不使用默认的证书,也可以使用openssl手动创建证书。

    二、使用openssl手动创建证书
    1、安装openssl

    #yum install openssl

    2、生成服务器私钥

    #cd /etc/pki/tls
    #openssl genrsa -out server.key 1024

    注意:server.key是私钥。

    3、用私钥server.key文件生成证书请求文件csr

    #openssl req -new -key server.key -out server.csr

    注:server.csr是证书请求文件。

    此步骤需要输入一些证书信息:
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:shanghai
    Locality Name (eg, city) [Default City]:shanghai
    Organization Name (eg, company) [Default Company Ltd]:ccc
    Organizational Unit Name (eg, section) []:bbb
    Common Name (eg, your name or your server's hostname) []:www.test.com
    Email Address []:a@a.com

    输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。

    4、生成数字签名crt文件(证书文件)

    #openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt

    用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。

    5、编辑apache的ssl配置文件

    vim/etc/httpd/conf.d/ssl.conf

    /etc/httpd/conf.d/ssl.conf文件配置具体如下:

    <VirtualHost _default_:443>

    DocumentRoot "/var/www/https"      //设置网页存放目录

    ServerName *:443                  //服务器的端口

    DirectoryIndex index.html index.html.var  //首页名称

    SSLEngine on

    SSLCertificateFile /etc/pki/tls/server.crt    //证书

    SSLCertificateKeyFile /etc/pki/tls/server.key  //私钥

    </VirtualHost> 
    6、重启apache
    #servicehttpd restart
    访问https://ip/,就能看到证书信息了。

    由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。

    !!!注意:首页index.html 的文件权限为755,否则将会出现如上提示:

    Forbidden

    Youdon't have permission to access /main.html on this server.

    解决方法:修改首页index.html读写权限。

    #Chmod755  index.html

    关于openssl指令的补充说明:

    #openssl [操作]  -out  filename  [bits]

    参数说明:

    [操作]  主要的操作有如下两个:

          genrsa,建立RSA加密的Public key

          req,建立凭证要求文件或者是凭证文件

    -out ,后面加上输出的文件名,就是那把key name

    bits,用在genrsa加密的公钥的长度

    -x509,X.509,CertificateData  Management.  一种验证的管理方式

    例:建立一支长度为1024bits的Public Key,注意文件名。

    #openssl genrsa  -out  Server.key 1024

    生成证书请求命令

    #Openssl req  -new  -key file.key  -out  file.csr -config  /path/to/openssl.cnf

    -config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。

    例:#openssl req -new -key server.key -outserver.csr

  • 相关阅读:
    phpexcel导出带生成图片完美案例
    让Asp.Net WebAPI支持OData查询,排序,过滤。(转)
    Workflow笔记2——状态机工作流(转)
    WebAPI请求(转)
    WebApi参数传递总结(转)
    30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)(转)
    .net 分布式架构之分布式锁实现(转)
    C#分布式事务解决方案-TransactionScope(转)
    Windows 环境下分布式跨域Session共享(转)
    Session分布式共享 = Session + Redis + Nginx(转)
  • 原文地址:https://www.cnblogs.com/zl-graduate/p/8177231.html
Copyright © 2011-2022 走看看