码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux下 Apache 配置 SSL 支持 https


    目录

    • 前言
    • 模块`mod_ssl`
      • 检查是否安装了 `mod_ssl`
      • 安装 `mod_ssl`
      • SSL 默认配置
    • 生成证书
    • Apache 配置 SSL

    前言

    • 已安装apache(yum install -y httpd)
    • Apache Server version: Apache/2.4.6 (CentOS)

    模块mod_ssl

    检查是否安装了 mod_ssl

    shell> yum list installed | grep mod_ssl
    
    • 1

    安装 mod_ssl

    shell> yum install -y mod_ssl
    
    • 1

    SSL 默认配置

    默认情况下,使用 yum 安装 mod_ssl 后,会自动生成默认的SSL配置(/etc/httpd/conf.d/ssl.conf)。
    该SSL配置,配置了localhost域名。如果需要配置其它域名,那就往下看。

    生成证书

    假定我的域名为mydomain.com,为该域名生成证书。

    1. 生成服务器密钥:
    shell> mkdir -p /etc/httpd/cert.d
    shell> cd /etc/httpd/cert.d/
    shell> openssl genrsa -out com.mydomain.key 1024
    
    • 1
    • 2
    • 3
    1. 生成签名请求文件:
    shell> cd /etc/httpd/cert.d/
    shell> openssl req -new -key com.mydomain.key -out com.mydomain.csr
    
    • 1
    • 2
    1. 等待权威机构对证书进行签名(得到.cer或.crt文件)
    • 将 com.mydomain.csr 发给权威机构进行签名。
    • 假设权威机构签名后的证书名为:com.mydomain.crt,并移动到 /etc/httpd/cert.d/ 文件夹下。
    1. 生成自签名证书
    shell> cd /etc/httpd/cert.d/
    shell> openssl req -new -x509 -key com.mydomain.key -out com.mydomain.crt -days 365
    
    • 1
    • 2

    注1: 权威机构给的签名后的证书和自签名证书,对于后面的配置没有差异。
    注2: 权威机构给的签名后的证书和自签名证书,差异在权威机构的CA受到信任(可商用),自签名证书的CA不受信任(可在开发/测试环境使用)。

    Apache 配置 SSL

    1. 创建配置文件 /etc/httpd/conf.d/com.mydomain.conf
    shell> vim /etc/httpd/conf.d/com.mydomain.conf
    
    • 1

    com.mydomain.conf文件内容:

    <VirtualHost *:80>
    ServerName mydomain.com:80
    VirtualHost>
    
    <VirtualHost *:443>
    ServerName mydomain.com:443
    
    SSLEngine on
    SSLCertificateFile /etc/httpd/cert.d/com.mydomain.crt
    SSLCertificateKeyFile /etc/httpd/cert.d/com.mydomain.key
    VirtualHost>  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 测试 Apache 配置文件是否有错
    shell> httpd -t
    
    • 1
    1. Apache 重新加载配置文件
    shell> systemctl reload httpd
    
    • 1
  • 相关阅读:
    盘点JAVA中基于CAS实现的原子类, 你知道哪些?
    搜索店铺列表API 返回值说明
    Maven配置MAVEN_OPTS
    无频闪护眼灯哪个好?儿童护眼台灯品牌推荐
    java递归将list转换为树形结构
    leetcode:100相同的数
    小白学Python:提取Word中的所有图片,只需要1行代码
    幻兽帕鲁服务器多少钱?有买过的吗?
    第十三届蓝桥杯模拟赛第三期
    UniApp 踩坑日记
  • 原文地址:https://blog.csdn.net/sayyy/article/details/126691393
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号