Linux上面配置Apache2支持Https(ssl)具体方案实现

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

@TOC


一、背景

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

在这里插入图片描述

二、具体实现

2.1 申请ssl证书

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

2.2 配置证书

然后登录到服务器上面,进行相应的文件与配置调整,首选是要配置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>

2.3 检测配置

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

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

2.4 配置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>

三、关于Apache服务器

Apache服务器是一种开源的Web服务器软件,它是由美国Apache软件基金会开发和维护的。Apache服务器是目前最流行的Web服务器软件之一,拥有广泛的用户群体。

Apache服务器具有以下特点:

  • 可移植性:Apache服务器可以在多个操作系统上运行,包括Windows、Linux、Unix等。
  • 高度可定制化:Apache服务器提供了丰富的模块和插件,用户可以根据自己的需求进行扩展和定制。
  • 高性能:Apache服务器采用多线程和多进程的方式处理请求,能够同时处理多个请求,提高并发能力。
  • 安全性:Apache服务器支持SSL/TLS加密协议,可以为网站提供安全的HTTPS连接。
  • 可靠性:Apache服务器经过多年的发展和测试,已经成为一个非常稳定和可靠的服务器软件。
  • 易于配置:Apache服务器的配置文件简单易懂,用户可以通过修改配置文件来进行服务器的设置。
  • 兼容性:Apache服务器支持多种Web技术和标准,如PHP、MySQL、HTML、XML等。

总结

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

相关文章
|
3天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
26 0
|
20天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
19天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
3天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
16 1
|
5天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
5天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
43 1
|
6天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
28 0
|
6天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
9天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
9天前
|
缓存 安全 Ubuntu
Linux配置代理上网
如何配置Linux代理
18 1

热门文章

最新文章