转自:https://www.cnblogs.com/ccccwork/p/6529367.html

1、要搭建https,必须要具备的东西

1、超文本传输协议httpd(apache)和ssl模块(mod_ssl)
2、用于加密超文件传输的证书。(openssl制作自签名证书)
3、测试

2、安装httpd

yum install httpd mod_ssl -y

3、安装openssl

yum install openssl -y
这里介绍httpd默认的配置文件路径、www路径、默认的证书路径、默认的私钥路径。
配置文件路径 /etc/httpd/conf/httpd.conf
www存放路径 /var/www/html
默认的证书路径 /etc/pki/tls/certs/
默认的私钥路径 /etc/pki/tls/private/

4、利用openssl生成证书文件【注意!此处会在当前目录生成证书文件】

1.建立服务器密钥
openssl genrsa -out server.key 1024 2.建立服务器公钥,这里会让你输入一些证书属性,随便输就行了,最后还要输2次大于4位数的密码
openssl req -new -key server.key -out server.csr 3.建立服务器证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

5、vim /etc/httpd/conf/httpd.conf 修改配置文件【#如果不配置此段,则使用http访问的时候不会自动跳转到https,但是https输入对应的端口可以访问,即同台机器可同时存在http和https】

#添加如下代码,使能做到自动使用https协议打开网站
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

6、vim /etc/httpd/conf.d/ssl.conf,修改ssl配置文件,指定私钥和证书的目录。

SSLCertificateKeyFile /opt/server.key
SSLCertificateFile /opt/server.crt ###注意!此处的路径为步骤【4、利用openssl生成证书文件】中生成证书所在的路径

7.启动httpd服务,我发布版是rhel 7.3 所以命令变更为systemctl ,如果是6.*版本,请使用service httpd start

systemctl start httpd
或service httpd start

8、用IE浏览器验证,因为这是自签名证书,浏览器会报警说不安全,点继续流量就好了。
客户机上输入:https://服务器ip地址

SSL签名证书:

openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.req -config /etc/pki/tls/openssl.cnf -subj "/C=CN/ST=fj/L=xm/O=ws/OU=wangsu/CN=aaa.aa.com/emailAddress=aa@aaa.com"
openssl req -x509 -key ca.key -in ca.req -out ca.crt -days 36500 -config /etc/pki/tls/openssl.cnf openssl genrsa -out server.key 2048
openssl req -new -out server.csr -key server.key -days 36500 -config /etc/pki/tls/openssl.cnf -subj "/C=CN/ST=fj/L=xm/O=ws/OU=wangsu/CN=aaa.aa.com/emailAddress=aa@aaa.com"
touch /etc/pki/CA/index.txt
touch /etc/pki/CA/serial
echo "" >> /etc/pki/CA/serial
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 36500 -config /etc/pki/tls/openssl.cnf

Tools:apache部署https服务的更多相关文章

  1. Apache 部署HTTPS

    Apache 部署HTTPS 系统:Linux Centos 7.4 x64 应用:Apache 2.4.6 需要安装:mod_ssl 注:确认开启 Include conf/extra/httpd- ...

  2. centos配置apache的https服务

    因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache ...

  3. CentOS使用nginx部署https服务

    nginx安装参考:https://www.cnblogs.com/taiyonghai/p/6728707.html 自签证书生成参考:https://gmd20.github.io/blog/op ...

  4. Linux下设置Apache支持Https服务

    HTTPS的主要作用: 1)建立一个信息安全通道,来保证数据传输的安全性 2)确认网站的真实性 HTTPS与HTTP的区别: 1)HTTPS协议需要到ca申请证书,免费证书较少 2)HTTP是超文本传 ...

  5. 如何在CentOS配置Apache的HTTPS服务

    http://www.4byte.cn/learning/120027/ru-he-zai-centos-pei-zhi-apache-de-https-fu-wu.html

  6. 使用Let's Encrypt搭建永久免费的HTTPS服务

    1.概述1.1 HTTPS概述HTTPS即HTTP + TLS,TLS 是传输层加密协议,它的前身是 SSL 协议.我们知道HTTP协议是基于TCP的.简而言之HTTPS就是在TCP的基础上套一层TL ...

  7. Docker部署微服务

    部署时需要注!意!: 打开防火墙对应的应用端口!!用于外部访问!!内部互访问则不需要. 和对应数据库,缓存,消息中间件服务等的端口(当然这些服务必须先开启,它们也可使用docker部署开启) ,用于容 ...

  8. centos httpd开启https服务并申请免费https

    安装httpd yum -y install httpd httpd配置文件路径  /etc/httpd/conf/httpd.conf 安装OpenSSL yum install mod_ssl o ...

  9. springboot+apache前后端分离部署https

    目录 1. 引言 2. 了解https.证书.openssl及keytool 2.1 https 2.1.1 什么是https 2.1.2 https解决什么问题 2.2 证书 2.2.1 证书内容 ...

随机推荐

  1. [Leetcode 15]三数之和 3 Sum

    [题目] Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? ...

  2. Hashmap的学习整理

    这是我大致了解Hashmap的第一个博客:https://www.cnblogs.com/chengxiao/p/6059914.html 我将摘录里面的重点: 哈希表的主干就是数组 存储位置 = f ...

  3. RockeMq源码之Client

    Client中既有producer,也有consumer,先看前者 org.apache.rocketmq.client.producer.DefaultMQProducer.class 一般都是调用 ...

  4. noj快排

    1003.快速排序 时限:1000ms 内存限制:10000K  总时限:3000ms 描述 给定一个数列,用快速排序算法把它排成升序.   输入 第一行是一个整数n(n不大于10000),表示要排序 ...

  5. c++结构体的排序

    出处:https://blog.csdn.net/weixin_39460667/article/details/82695190 引入头文件 #include<algorithm> 结构 ...

  6. 在myeclipse中maven项目关于ssh整合时通过pom.xml导入依赖是pom.xml头部会报错

    错误如下 ArtifactTransferException: Failure to transfer org.springframework:spring-jdbc:jar:3.0.5.RELEAS ...

  7. 我在MySQL免安装版使用过程中遇到的问题记录

    我的MySQL版本为:mysql-5.7.16-winx64 安装时间为:2016年5月10号 由于是免安装版,下载好压缩文件之后解压到特定目录下,再打开命令行运行几行命令即可. 在一次操作中,发现无 ...

  8. 使用mysqlproxy实现mysql读写分离

    先说一下什么是读写分离吧. 以三台虚拟机为例,搭建一主一从一代理,全部配置好之后,当从proxy插入数据时,该数据会同时插入主数据库,因为主从关系,从数据库也会有数据.当把从数据库执行slave st ...

  9. js 缓存后端的数据

    var power = (function () { var cacheObj=[] ; return { get: function (key) { if (cacheObj.length === ...

  10. 初识DMA

    初识DMA 关于AXI4-Memory Map 与 AXI4-Stream之间的转换: 查阅UG1037 重点关注DataMover这一块 此图似乎有错误之处,需要再次确认.