首页 > 其他分享 >Apache HTTP Server 的安装与配置

Apache HTTP Server 的安装与配置

时间:2023-12-09 21:55:59浏览次数:32  
标签:httpd HTTP sudo Server etc systemctl certs Apache com

一、概要

1. 环境

(1) Rocky Linux 9.3

二、安装与配置

1. 安装

(1) 安装

sudo dnf install httpd -y

(2) 服务

sudo systemctl start httpd
sudo systemctl enable httpd
systemctl status httpd

(3) 防火墙

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

2. SSL

(1) 安装SSL模块

sudo dnf install mod_ssl -y

安装完成之后会在/etc/httpd/conf.d目录下出现一个文件ssl.conf。

(2) 为域名设置SSL/TLS

假设我们需要为www.example.com设置SSL/TLS:

a. 创建证书目录

sudo mkdir /etc/httpd/certs

b. 准备证书

OpenSSL 系列2 --- 应用

i. CA证书;

ii. 域名证书;

iii. 域名证书密钥;

c. 创建配置文件

sudo vi /etc/httpd/certs/www.example.com.conf

d. 初始化配置文件:

<VirtualHost *:443>
    ServerName ldapadmin.lionlea.com
    SSLEngine on
    SSLVerifyClient optional
    SSLVerifyDepth 1
    SSLCACertificateFile "/etc/httpd/certs/cacert.pem"
    SSLCertificateFile "/etc/httpd/certs/www.example.com.cert.pem"
    SSLCertificateKeyFile "/etc/httpd/certs/key.pem"
</VirtualHost>

e. 重启服务

sudo systemctl restart httpd
systemctl status httpd

3. 强制HTTPS访问

(1) 编辑配置文件

sudo vi /etc/httpd/certs/www.example.com.conf

(2) 新增配置:

<VirtualHost *:80>
    ServerName www.example.com
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]

    <Directory "${INSTALL_DIR}/htocs">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

三、引用

1. 官方

https://httpd.apache.org/

https://httpd.apache.org/docs/2.4/en/ssl/ssl_howto.html

标签:httpd,HTTP,sudo,Server,etc,systemctl,certs,Apache,com
From: https://www.cnblogs.com/eagle6688/p/17891481.html

相关文章

  • 前端歌谣-第四拾九课-node之http模块之fs模块
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解node中fs模块的讲解创建文件constfs=require("fs")fs.mkdir("./geyao",(err)=>{console.log(err)if(err&&err.code==="EEXIST"){console.log("目录已经存在")}})运行结果重命......
  • 前端歌谣-第四拾捌课-node之http模块之event模块
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解node中event的讲解案例constEventEmitter=require("events")constevent=newEventEmitter()event.on("play",()=>{console.log("事件触发了")})event.emit("play")运行结果案例1varhttp=r......
  • 认识HTTP协议与apache
    万维网:(www)并非计算机网络,而是一个大型的数据库,可以实现网页与网页之间的跳转url:资源定位符描述了一个资源在服务器上的具体位置http:超文本传输协议图片视频小程序http:HyperTextTransferProtocol应用层协议,默认端口:80/tcp可以使用http协议的软件apachenginx......
  • ApacheCC1反序列化分析
    ApacheCC1反序列化分析写在前面:这条链路对初学者来说并不是那么简单的,大家在学习时一定要多动手调试代码,有的时候光看代码看得头大,一调试就都明白了。一、背景介绍首先,什么是cc1cc全称Common-Collections,是apache基金会的一个项目,它提供了比原生的java更多的接口和方法,比如说......
  • VMware vCenter Server 7.0 Update 3p 下载 - 集中管理 vSphere 环境
    VMwarevCenterServer7.0Update3p下载-集中管理vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-7-u3/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere......
  • AMQP协议中的,消息队列RabbitMQ,ActiveMQ,Apache Kafka区别是什么?
    都是基于AMQP协议来的一种实现方式。参考chatGPT4回答请使用Markdown表格来展示RabbitMQ、ActiveMQ和ApacheKafka之间的区别:维度RabbitMQActiveMQApacheKafka语言ErlangJavaScala/Java协议AMQP、STOMP、MQTTAMQP、STOMP、OpenWire自定义协议......
  • 深入探究 Python 异步编程:利用 asyncio 和 aiohttp 构建高效并发应用
    在现代编程中,异步编程已成为处理高并发和IO密集型任务的重要方式。Python提供了强大的异步编程支持,包括asyncio库和aiohttp等框架。本文将深入探讨异步编程的概念,以及在Python中如何利用异步框架来实现高效的并发编程。1.异步编程概念异步编程允许程序在等待IO操作完成时......
  • 什么是 Web 开发的 Server Side Model
    在Web开发中,"Server-SideModel"是指在服务器端进行数据处理和运算的模型。这种模型的主要优点是可以处理大量数据,同时也可以利用服务器的强大计算能力。与客户端模型(如JavaScript中的MVC模型)相比,服务器端模型可以更好地保护数据和算法,因为它们不会被发送到客户端。在"Se......
  • 如何在 Angular 应用中发起 HTTP 302 redirect
    代码如下:import{RESPONSE}from'@nguniversal/express-engine/tokens'import{Response}from'express'...constructor(protected@Optional()@Inject(RESPONSE)serverResponse:Response){}...//forexample:this.serverResponse?.status......
  • HTTP 302 Redirect 解释与举例
    HTTP302Redirect解释与举例HTTP302Redirect是指HTTP协议中的一种重定向状态码,用于指示请求的资源被临时移动到其他位置。这种状态码告诉客户端发起新的请求,新的请求将指向重定向后的位置。在Web开发中,302重定向常用于实现页面跳转、URL重定向以及处理用户身份验证等场景。......