转自: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. n阶楼梯,一次走1,2,3步,求多少种不同走法

    ##已知n阶楼梯,一次可以迈1,2,3步.求所有走法## 如果要列出走法,时间复杂度太高,O(n)=2**n,前两个函数遍历走法.## 如果只是单纯列出走法数量,就简单多了,也但是很容易内存爆表. # ...

  2. C++遍历路径下的所有文件

    intptr_t类型用于记录文件夹句柄,注意该类型不是指针类型,而是int型的重定义. _finddata_t结构体类型用于记录文件信息. _finddata_t结构体定义如下 struct _fin ...

  3. 史上最简单OpenGL+VS2017环境配置

    这里采用 最简单的方法: (1)添加Nuget包管理器(方便我们为项目添加OpenGL的库) (2)新建一个项目 右键我们的项目名 ——> 管理NuGet程序包——>搜索nupengl,然 ...

  4. 给a链接跳转后的页面添加class

    $(document).ready(function(){ var test = window.location.href;//获取到当前页面的href // console.log(test); / ...

  5. 剑指Offer 37. 数字在排序数组中出现的次数 (数组)

    题目描述 统计一个数字在排序数组中出现的次数. 题目地址 https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2?tpId ...

  6. iOS动画学习

    学习一下动画,感谢以下大神的文章:    UIView:基础动画.关键帧动画.转场动画 Core Animation :基础动画,关键帧动画,动画组,转场动画,逐帧动画 CALayer :CALaye ...

  7. [转]腾讯研发类笔试面试试题(C++方向)

     https://blog.csdn.net/Xiongchao99/article/details/73381280 1.C和C++的特点与区别? 答:(1)C语言特点:1.作为一种面向过程的结构化 ...

  8. 深入理解使用synchronized同步方法和同步代码块的区别

    一.代码块和方法之间的区别 首先需要知道代码块和方法有什么区别: 构造器和方法块,构造器可以重载也就是说明在创建对象时可以按照不同的构造器来创建,那么构造器是属于对象,而代码块呢他是给所有的对象初始化 ...

  9. jmeter4.0安装记录

    前提:jmeter需配置环境变量jdk,jmeter4.0版本需1.7以上版本, 查看jdk版本命令java -version 1.官网http://jmeter.apache.org/downloa ...

  10. SQLI DUMB SERIES-11

    (1)检测构造方式 由此看出输入的用户名以及密码都被一对单引号所包含. 方法一: (2) 模拟真实环境,以用户的身份登录. (3)用burp抓包.开启抓包,输入用户名和密码,会自动跳到这个页面,右键, ...