Apache HTTP Server /etc/apache2/mods-available/ssl.conf

Authentic ๐Ÿ“‹ Ubuntu 24.04 LTS (Noble Numbat) 84 lines

Compatibility

Currently viewing:
Ubuntu 24.04 LTS (Noble Numbat)
Also compatible:
Debian 12 (Bookworm)
Different versions:

File Info

Size
84 lines
MD5
e0240208bf5bd725c1f192c2d1abb76e
SHA256
fb37ad93dd9c6bc899bc677833bc581b3de013c3cc7c5f324c443afd873e59f0

Quick Commands

curl:
curl https://exampleconfig.com/api/v1/config/original/e0240208bf5bd725c1f192c2d1abb76e?hint=ssl.conf
wget:
wget -O ssl.conf https://exampleconfig.com/api/v1/config/original/e0240208bf5bd725c1f192c2d1abb76e?hint=ssl.conf
/etc/apache2/mods-available/ssl.conf
# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the SSL library.
# The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
#
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

##
##  SSL Global Context
##
##  All SSL configuration in this context applies both to
##  the main server and all SSL-enabled virtual hosts.
##

#
#   Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog  exec:/usr/share/apache2/ask-for-passphrase

#   Inter-Process Session Cache:
#   Configure the SSL Session Cache: First the mechanism
#   to use and second the expiring timeout (in seconds).
#   (The mechanism dbm has known memory leaks and should not be used).
#SSLSessionCache    dbm:${APACHE_RUN_DIR}/ssl_scache
SSLSessionCache     shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout  300

#   Semaphore:
#   Configure the path to the mutual exclusion semaphore the
#   SSL engine uses internally for inter-process synchronization.
#   (Disabled by default, the global Mutex directive consolidates by default
#   this)
#Mutex file:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache


#   SSL Cipher Suite:
#   List the ciphers that the client is permitted to negotiate. See the
#   ciphers(1) man page from the openssl package for list of all available
#   options.
#   Enable only secure ciphers:
SSLCipherSuite HIGH:!aNULL

# SSL server cipher order preference:
# Use server priorities for cipher algorithm choice.
# Clients may prefer lower grade encryption.  You should enable this
# option if you want to enforce stronger encryption, and can afford
# the CPU cost, and did not override SSLCipherSuite in a way that puts
# insecure ciphers first.
# Default: Off
#SSLHonorCipherOrder on

#   The protocols to enable.
#   Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
#   SSL v2  is no longer supported
SSLProtocol all -SSLv3

#   Allow insecure renegotiation with clients which do not yet support the
#   secure renegotiation protocol. Default: Off
#SSLInsecureRenegotiation on

#   Whether to forbid non-SNI clients to access name based virtual hosts.
#   Default: Off
#SSLStrictSNIVHostCheck On

# Warning: Session Tickets require regular reloading of the server!
# Make sure you do this (e.g. via logrotate) before changing this setting!
SSLSessionTickets off

How to Install Apache HTTP Server

Alpine Linux

sudo apk add apache2

Debian

sudo apt update && sudo apt install apache2

Red Hat Enterprise Linux

sudo yum install httpd

Ubuntu

sudo apt update && sudo apt install apache2

Configuration File Location

File Path
/etc/apache2/mods-available/ssl.conf
Directory
/etc/apache2/mods-available/
Significance
System-wide configuration directory
Description
Files in /etc/ contain system-wide configuration settings that affect all users.

Complete Apache HTTP Server Configuration Guide

What is ssl.conf?
Download the original 'ssl.conf' configuration file for Apache HTTP Server from a clean Ubuntu 24.04 LTS (Noble Numbat) installation. This is the factory-default configuration that comes with the official Apache package, ideal for troubleshooting, restoring, or learning standard setup patterns.
Technical Details
Found at '/etc/apache2/mods-available/ssl.conf', this 84-line configuration defines virtual hosts, security modules, SSL certificates, rewrite rules, and performance directives. Powers over 30% of all websites globally and handles everything from static sites to enterprise applications.
Common Configuration Question
How do you configure Apache HTTP Server for security, performance, and virtual hosting on Ubuntu 24.04?
Why Use This Configuration?
This default configuration includes mod_rewrite, mod_ssl, security headers, and optimized MPM settings. Essential for web hosting, development environments, and production deployments. Perfect starting point for system administrators and web developers.

Frequently Asked Questions

When should I use this ssl.conf file?

Use this original configuration file when you need to restore Apache HTTP Server to its default state after misconfiguration, during fresh installations, or as a baseline for customization. It's particularly useful for troubleshooting when your current config isn't working properly.

How do I restore Apache HTTP Server to default settings?

Download this file and replace your current configuration at /etc/apache2/mods-available/ssl.conf. Make sure to backup your existing configuration first, then restart the Apache HTTP Server service to apply the changes.

Is this ssl.conf file secure for production use?

This is the factory-default configuration that ships with Apache HTTP Server on Ubuntu 24.04 LTS (Noble Numbat). While it provides a secure baseline, you should review and customize security settings based on your specific production requirements and compliance needs.

What's the difference between this and other OS versions?

This configuration is specifically from Ubuntu 24.04 LTS (Noble Numbat). Different operating systems and versions may have slightly different default settings, security patches, or feature availability. Check the compatibility section above for other OS versions.

Can I use this configuration file for Apache HTTP Server troubleshooting?

Yes, this original configuration is excellent for troubleshooting. Compare it with your current settings to identify modifications that might be causing issues, or temporarily replace your config with this one to isolate problems.