132 Chapter 10. Apache HTTP Server10.2.4. Modules and Apache HTTP Server 2.0In Apache HTTP Server 2.0, the module system has been changed to allow modules to be chainedtogether or combined in new and interesting ways. Common Gateway Interface (CGI) scripts, for ex-ample, can generate server-parsed HTML documents which can then be processed by mod_include.This opens up a tremendous number of possibilities with regards to how modules can be combined toachieve a specific goal.The way this works is that each request is served by exactly one handler module followed by zero ormore filter modules.Under Apache HTTP Server 1.3, for example, a Perl script would be handled in its entirety by thePerl module (mod_perl). Under Apache HTTP Server 2.0, the request is initially handled by the coremodule — which serves static files — and is then filtered by mod_perl.Exactly how to use this, and all other new features of Apache HTTP Server 2.0, is beyond the scopeof this document; however, the change has ramifications if the PATH_INFO directive is used for adocument which is handled by a module that is now implemented as a filter, as each contains trailingpath information after the true file name. The core module, which initially handles the request, doesnot by default understand PATH_INFO and returns 404 Not Found errors for requests that containsuch information. As an alternative, use the AcceptPathInfo directive to coerce the core moduleinto accepting requests with PATH_INFO.The following is an example of this directive:AcceptPathInfo onFor more on this topic, refer to the following documentation on the Apache Software Foundation’swebsite:• http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo• http://httpd.apache.org/docs-2.0/handler.html• http://httpd.apache.org/docs-2.0/filter.html10.2.4.1. The mod_ssl ModuleThe configuration for mod_ssl has been moved from the httpd.conf file into the/etc/httpd/conf.d/ssl.conf file. For this file to be loaded, and hence for mod_ssl to work,the statement Include conf.d/*.conf must be in the httpd.conf file as described in Section10.2.1.3 Dynamic Shared Object (DSO) Support.ServerName directives in SSL virtual hosts must explicitly specify the port number.For example, the following is a sample Apache HTTP Server 1.3 directive:ÃVirtualHost _default_:443 Ä# General setup for the virtual hostServerName ssl.example.name...Ã/VirtualHost ÄTo migrate this setting to Apache HTTP Server 2.0, use the following structure:ÃVirtualHost _default_:443 Ä# General setup for the virtual hostServerName ssl.host.name:443...Ã/VirtualHost Ä