httpd2.4配置https访问

文章目录

一、为什么要部署https?

二、httpd配置步骤

1.部署证书和密钥对

2.配置ssl.conf


一、为什么要部署https

        部署HTTPS网站最大的好处就是安全,能够保护用户的隐私,很多电商网站,由于涉及用户的金钱,会很自然地考虑安全问题,所以电商网站是部署HTTPS最有动力的企业,通过部署HTTPS网站避免用户受到攻击,避免用户受到诈骗,也能让自己的企业数据更安全。

        可很多企业觉得自己的网站没有十分重要的数据,不支持HTTPS好像问题不大,实际情况是如此吗?即使网站本身没有很重要的数据,但是HTTP网站很容易被劫持,用户访问的页面可能被插入广告,影响用户的体验;同时用户可能仅仅浏览了网站的几个HTTP页面,攻击者就会了解用户的浏览行为,隐私毫无保障。

        从网站拥有者的角度来看,具备一定规模的网站必然有自己的核心数据,数据来源于自己的用户,是最宝贵的资产,需要谨慎对待,也有义务保证数据不泄露。如果企业还在犹豫网站是否有隐私数据,可以看下网站是否有用户注册入口,如果有,那么就有必要在用户和自己的服务之间构建一条安全的通道,保证用户不会泄露私密数据,比如用户的口令信息。

二、httpd配置步骤

1.部署证书和密钥对

获取证书的方式有三种:

  • 自签名证书,如果开发者只是想测试HTTPS,最快速的途径就是生成自签名证书,非常方便。

  • Let’s Encrypt证书,可以使用免费CA机构签发的证书。

  • 使用收费CA机构签发的证书,如果对证书安全性、兼容性、功能有特殊需求,可以向CA机构申请证书。

        本文选用了生成自签名证书的方式。

(1)生成私钥对和CSR

        CSR(Certificate Signing Request)表示证书签名请求,其中包含了服务器的密钥对,CA机构接收到请求后会验证CSR请求的签名。

openssl req -newkey rsa:1024 -nodes -keyout example-key.pem -out example-csr.pem

        输入以上命令后,会有一些交互式提示,最重要选项则是域名信息,可以选择多个,在本例中为www1.example.com域名生成一张证书。

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State] :Beijing

Locality Name (eg, city) [] :Beijing

Organization Name (eg, company) [Internet Widgits Pty Ltd] :examplecompany

Organizational Unit Name (eg, section) []:exampleunit

Common Name (e.g. server FQDN or YOUR name) [] :wwwl.example.com

Email Address []:[email protected]

        openssl req命令最终生成两个文件,example-key.pem表示密钥对文件,example-csr.pem表示CSR文件。

(2) 生成自签名证书

        接下来通过CSR生成证书,对于自签名证书,读者可以认为自己就是一个CA机构,生成证书命令很简单,输入如下命令即可:

openssl x509 -signkey example-key.pem -in example-csr.pem -req -days 365 -out example-cert.pem

2.配置ssl.conf

        如果没有安装Apache,安装并启用ssl模块:

# 安装
yum install httpd httpd-devel mod_ssl

        显示Apache版本:

# httpd -v
Server version: Apache/2.4.34 (Unix)
Server built:   Oct 19 2020 17:37:02

        配置HTTPS: 

# 编辑配置文件
vim /etc/httpd/conf.d/ssl.conf

Listen 443 https

        ServerName xxxx.xx.xx
        SSLCertificateFile example-cert.pem
        SSLCertificateKeyFile example-key.pem

        重新启动httpd:

systemctl restart httpd

你可能感兴趣的:(运维,网络安全,ssl,https)