HTTP Error 400 - Bad Request, when attempting to install iPrint printers

  • 3008094
  • 21-Jun-2006
  • 26-Apr-2012

Environment

Novell iPrint for NetWare Novell NetWare 6.5 Support Pack 5
Novell Apache on NetWare 2.0.48

Situation

When attempting to install a printer from the default or custom map web-page(s), users receive an "Http Error 400 - Bad Request" message.

This is caused by HTTPSTK listening on port 631 and attempting to service requests made to that port.  This is incorrect for NetWare 6.5.  The Apache2 Web-server should be servicing requests made on port 631 in order for iPrint to function properly.



Resolution

To resolve the issue do the following:

  1.  At the Server Console type: Edit AP2WEBUP.NCF (you may also edit the AP2WEBUP.NCF via the Text Editor of your choice (e.g. Notepad), by mapping a drive to your SYS:\SYSTEM directory and opening the AP2WEBUP.NCF file.
  2. Add the following line(s) to your AP2WEBUP.NCF file:
          #Make sure that httpstk isn'tlistening on port 631
          httpcloseport 631 /silent

    An Example of what the file should look like after making the modification is shown below.

          EXAMPLE AP2WEBUP.NCF:

             # Startup for Apache Web Server for NetWare
             # This is called from autoexec.ncf

             # Make sure that httpstk isn't listening on 80
             httpcloseport 80 /silent

             # Make sure that httpstk isn't listening on 631
             httpcloseport 631 /silent

             load apache2 -E sys:\apache2\logs\startup.err
     
NOTE: If you are in a clustering environment, check the cluster load script. If you see a line such as
httpbind :631
then HTTPSTK is listening on port 631. This statement is valid for NetWare 6.0, but not for NetWare 6.5.  Remove the httpbind statement.   This command is sometimes accidentally left in the cluster load script by the administrator after upgrading from NetWare 6.0 to NetWare 6.5.

      3. Save the changes you have just made.
        a. if editing the file from the Server Console, hit ESC and select YES to Save Changes.
        b. if using a third party Text Editor save the file according to the specific
        instructions of the product you are using (making sure that you have not changed
              the filename or extension).   Common Text Editors will use the standard, click File
              and then click Save.
     
      4. Restart the Apache2 Web Server
        a. At the Server Console type: AP2WEBDN to shutdown the Apache2 Web Server.
        b. At the Server Console type: AP2WEBUP to start the Apache2 Web Server.

Additional Information

If HTTPSTK is listening on port 631, Apache will not be able to handle the 631 traffic. You can check whether Apache or HTTPSTK is listening on port 631 by using the TELNET application. At the system console, unload Apache (with the AP2WEBDN command), then open a CMD prompt on a Windows workstation and run TELNET 631. If HTTPSTK is listening, you will get a blank screen, awaiting a command. If HTTPSTK is not listening, you will get a message "could not open connection to the host on port 631." Then, load Apache (AP2WEBUP) and try the operation again. Based on the result of these tests, you can verify whether HTTPSTK or Apache is listening on port 631.