虽然Nginx比较流行,但是由于一些老项目用到了Apache2来支持Web服务,最近想给服务上一个Https支持,虽然看似教程简单,但是也遇到一些特殊情况,经历了一番折腾也算是解决了所有问题,将过程记录如下。演示是基于Ubantu系统。

申请ssl证书

首先为自己的域名申请好ssl证书,这里用到了阿里云的免费证书。下载的时候选择apache的版本。解压后里面包含三个文件,这三个文件后面都要放到服务器上面。

配置证书

然后登录到服务器上面,进行相应的文件与配置调整,首选是要配置Apache2支持ssl,在服务器上面运行如下命令。

apt-get install openssl
a2enmod ssl

然后 vim /etc/apache2/ports.conf,看是否配置了443的监听,一般情况下内容如下表示是正常情况。

然后继续配置证书相关的东西,先把证书上传到服务器并放到指定位置,ftp或者rz命令都可以,后面要用到。

cd /etc/apache2/sites-available/


可以看到上图有两个文件,这里主要用到了default-ssl.conf,然后选择编辑它。核心就是下面的一些内容,重点是证书的应用决定了https服务能不能配置成功。

<IfModule mod_ssl.c>
#<VirtualHost _default_:443>
<VirtualHost *:443>
ServerName 你的域名
DocumentRoot WEB根目录
SSLEngine on
SSLCertificateFile public.crt证书文件位置
SSLCertificateKeyFile key证书文件位置
SSLCertificateChainFile chain.crt证书文件位置
</VirtualHost>
</IfModule>
检测配置

上面内容配置了就基本差不多了,使用命令service apache2 restart或者service apache2 reload重启/重新载入服务。然后https访问一下自己的域名。如果浏览器地址栏出现了安全锁,则表示配置成功。下图为成功示范。

如果访问出现异常,可以尝试做以下检查。

1. 自己的ssl证书路径是否配置错了。
2. a2ensite default-ssl.conf 应用一下ssl配置
3. 443端口阿里云后台安全组有没有放行
配置Http跳转

如果需要http自动跳转到https,可以做如下配置。

a2enmod rewrite #开启重定向模块

vim /etc/apache2/sites-available/000-default.conf,做如下三行配置。

<VirtualHost *:80>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
...
</VirtualHost>
结尾

今天的内容就分享到这里,如果配置过程出现了问题 欢迎评论区留言或者私信我,一起来解决。如果有帮助到您给个关注吧,更多精彩即将到来。

Linux上面配置Apache2支持Https(ssl)具体方案实现的更多相关文章

  1. 配置nginx支持Https

    配置nginx支持Https一定要先使用stop停止nginx然后重新代开不能使用reload 一:安装letsencrypt 1.从git上克隆下来git clone https://github. ...

  2. Spring Mvc和Spring Boot配置Tomcat支持Https

    SpringBoot配置支持https spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可. 1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genk ...

  3. 配置httpd支持https

    1.首先为192.168.108.159创建私有CA #cd /etc/pki/CA # (umask 077;openssl genrsa -out private/cakey.pem 2048) ...

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

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

  5. (原创)linux下Microsoft/cpprestsdk支持https(server)

    原创,转载请标明源地址 之前看网上一堆的资料说Microsoft/cpprestsdk不支持https或者说只支持window下的https,差点就被误导了,没办法,只好自己去翻了下源代码 先说明下l ...

  6. 【Services】【Web】【tomcat】配置tomcat支持https传输

    1. 基础: 1.1. 描述:内网的tomcat接到外网nginx转发过来的请求之后需要和外网的客户端进行通讯,为了保证通讯内容的安装,使用tomcat使用https协议. 1.2. 链接:http: ...

  7. 安装配置ingress-nginx支持https访问

    说明: ​ 1.k8s版本:v1.23: ​ 2.内网测试环境1台master,2台node节点,使用 DaemonSet+HostNetwork+nodeSelector 方式部署 ingress- ...

  8. Nginx+Tomcat Https SSL部署方案

    1.软件版本: nginx-1.15+ tomcat-8.0+ 2.先解决一个疑问:Tomcat到底需不需要配置SSL? 答案:不需要 3.SSL申请 使用腾讯云.阿里云的服务器,会更加方便申请.(申 ...

  9. Debian配置Apache2支持mod-python和cgi模块

    Ubuntu好像是直接支持的,现在回到Debian有点不适应了.需要人工配置一下: 一.mod-python 安装模块:apt-get install libapache2-mod-python 编辑 ...

  10. Linux上设置nginx支持https

    1.前提条件 如果系统没有自带openssl,则需要安装. 2.生成证书 # .首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # .创建服务器私钥,命令会让你输入一个口令: ...

随机推荐

  1. ASP.NET Core - 依赖注入(二)

    .NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注 ...

  2. Shell命令-基础

    Shell命令 1 变量 定义变量时,变量名不加美元符号$,注意,变量名和等号之间不能有空格 a="myname" 用语句给变量赋值时, for file in `ls /etc` ...

  3. Spring Cloud Alibaba 整合 Seata 实现分布式事务

    在Spring Boot单体服务中,添加@Transactional注解就能实现事务.在单体服务中,执行事务都是在同一个数据库下进行.但是随着业务越来越复杂,数据量越来越大会进行分库分表.在微服务场景 ...

  4. CF623A Graph and String

    个人思路: 显然,和其他所有点连边的点都是 b.我们接下来不考虑这些点. 剩余 a 和 c 必然自己形成一个连通块,每个点与块内其他所有点连边. 超过 \(2\) 个连通块,或存在点没有与块内其他所有 ...

  5. 马哥Linux学习

    VNC virtual network computing 共享桌面协议

  6. vue 退出登录页面跳转 浏览器localStorage中的值没有改变

    vuex中的loginout方法actions:{ loginout(data:string){ return new Promise(((resolve, reject)=>{ setTime ...

  7. 泛微OA技巧随记

    隐藏明细表的加号按钮,如果不想让用户手工添行,必须通过自动联动添明细行,可以将明细表的加号按钮隐藏. document.getElementById('$addbutton0$').style.dis ...

  8. hive中对时间处理的函数总结

    日期转为时间戳 unix_timestamp('2022-11-12 00:00:00.000') 结果:1668182400 from_unixtime(unix_timestamp('2022-1 ...

  9. kali linux 中实现beef和msf关联出现问题解决

    当我们把配置文件都修改好了之后,在/usr/share/beef-xss文件夹中输入./beef,出现如下错误信息 API Fire Error: execution expired in {:own ...

  10. 简单的关键词查找实验(基于C语言)

    准备 书名数据库的阵列表示 关键字 书籍 B1 B2 B3 B4 B5 B6 B7 algebra 1 1 1 1 1 1 0 application 1 0 1 1 1 1 0 elementary ...