Bug 52395

Summary: reload results in different end environment to restart
Product: Apache httpd-2 Reporter: Paul <paulgraydon>
Component: Runtime ConfigAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED LATER    
Severity: normal Keywords: MassUpdate
Priority: P2    
Version: 2.2.21   
Target Milestone: ---   
Hardware: PC   
OS: FreeBSD   

Description Paul 2011-12-29 01:14:09 UTC
Server is FreeBSD based, running Apache HTTPd version 2.2.21:

[notice] Apache/2.2.21 (FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q

We had a vhost file that was updated a week ago. Previous vhost was of form:

<VirtualHost *:80>
    ServerName foo.bar.org

    ProxyPreserveHost On
    ProxyPass / http://baz.bar.org/
    ProxyPassReverse / http://baz.bar.org/
</VirtualHost>

It just contained a ":80" entry.
A "*:443" entry was added of identical form, but by mistake without the line:

Include conf/ssl.conf

which is in all our *:443 entries and does the usual standard settings for SSL (encryption format, certificate etc.)

configtest passed it okay as it still doesn't check SSL stuff (see https://issues.apache.org/bugzilla/show_bug.cgi?id=36286).  Reload brought the changes in without any complaint.  Despite several reloads that have occurred since the mistake was made last week, not once has httpd complained about lack of SSL configuration until today when a restart, rather than a reload, was done.

On restart it threw up the expected, an error it should have been hitting ever since the mistake was made:

[error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)

To my possibly crazy mind the same config files should result in the same end environment, regardless of whether httpd was passed a reload or a restart.  The config files should be describing an exact operating environment.  Sadly this shows it isn't the case.

It would be nice if configtest had failed, but given it's 6 years after that bug was submitted I figure that's never going to happen; but it's very disturbing that reload and restart can end up so differently.

I've since tested with a working environment, setting up a vhost with a working SSL setup, commenting out the include ssl.conf entry and reloading, after which it stays running.  Restart fails.  Uncommenting the line and restarting results in it working fine.
Comment 1 William A. Rowe Jr. 2018-11-07 21:09:42 UTC
Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd.

As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd.

If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question.

If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with.

Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated.