Host Header under https 1.1

How can I set up under https 1.1 a proper host header using the url class? I tried it a couple of times in proxy environments and I got back the message: ?Missing host header?.
Many systems do ignore the host header and it works fine. However typically proxy connections do not! Therefore we need a solution for this proxy environment.
A possible solution would be to do every thing by hand. However this is painful.
Does someone knows a solution or at least can someone tell me a workaround?

Many systems do ignore the host header and it works
fine. However typically proxy connections do not!Funny, I would have said the opposite. When formatting an HTTP request through a proxy, the entire URL (including protocol, host/domain & port#) is included in the start-line. Therefore the 'host' header is not ever needed by a proxy - it can get everything it needs from the start-line (although I expect some proxies are implemented to use only the 'host' header...and aren't smart enough to look in the start-line). Any web server configured to host multiple domains will NEED the 'host' header.
Make sure you've got the entire URL in your start-line when sending to the proxy...that could be the problem.

Similar Messages

  • Crawl issue - warning: "This URL is part of a host header SharePoint deployment and the search application is not configured to crawl individual host header sites. This will be crawled as a part of ....a start address"

    Hello all,
    I have a multi-tenant environment in SharePoint 2010 server. Different tenants are hosted by one web app.
    One content source has been created to crawl the all shared environment. (the only URL added in the content source settings = URL of the
     web app)
    Crawl everything under the hostname for each start address has been selected when creating this content source.
    Now I have created a new tenant hosted by the same web app. For this new tenant I want to have a different crawl schedule. Simple , I just create a new content source and add the host URL of this tenant. With the same settings has the other content source.
    After having started a full crawl I get 0 success and 1 warning : “This URL is part of a host header SharePoint deployment and the search application is not configured to crawl
    individual host header sites. This will be crawled as a part of the host header Web application if configured as a start address.”
    The first content source is well crawling the new tenant freshly created. Could you tell me where I’m wrong?
    Thanks in advance
    Regards
    Baldo

    Baldo,
    In the configuration that you described you now have 2 content sources set to crawl the same content. If you have a content source with a start address of http://servername/ then it is going to crawl everything past that address. If you are now changing
    the crawl schedule based on the individual site collections, you will need to move your start addresses further down the URL.
    For Example:
    1st Content Source:
    http://servername/ as a start address would now become
    http://servername/site1
    http://servername/site2
    2nd Content Source:
    http://servername/site3
    Also remember that all crawling must happen on the default zone. If you are trying to crawl a zone that the web application has been extended into, that will not work.
    ScottC - Microsoft SharePoint Support

  • 404 Error on Servlet under HTTPS

    Hi,
    This is the first time that I've had to work with SSL. I have a servlet that worked fine under regular http. I had to implement SSL and run my site over https. When I try to access my servlet under HTTPS, I get the 404 File not found error. Is there something that I need to setup for servlets to run under SSL in apache or server.xml? or Do I need to modify my JSP and Servlet code?
    I call my servlet from my JSP on the action method of the form like such:
    * JSP call to servlet
    <form action="https://www.benefitserver.com:8081/FDFServlet" method="post">***********
    * Servlet code
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.net.ssl.*;
    import java.io.*;
    import java.util.*;
    import com.yoursummit.benefitserver.*;
    import com.adobe.fdf.*;
    import com.adobe.fdf.exceptions.*;
    public class FDFServlet extends HttpServlet
        private static final String CONTENT_TYPE = "text/html";
        private String fileout = "";
        //Initialize global variables
        public void init() throws ServletException
            System.setProperty("java.protocol.handler.pkgs","sun.net.ssl.internal.www.protocol");
            java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        //Process the HTTP Get request
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
            doPost( request, response);
        //Process the HTTP Post request
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
            String planID = request.getParameter("planID");
            String empID = request.getParameter("empID");
            HttpSession session = request.getSession();
              try {
                   FDFDoc outputFDF = null;
                   /* Create a new FDF. */
                   outputFDF = new FDFDoc();
                //  Set the form fields with values from the database
                if ( planID.equalsIgnoreCase("31") )
                   formDeltaPopulation formDP = new formDeltaPopulation();
                   fileout = formDP.populateDeltaForm( outputFDF, planID, empID, request );
                if (planID.equalsIgnoreCase("29") )
                    formUnicarePopulation formUC = new formUnicarePopulation();
                    fileout = formUC.populateUnicareForm( outputFDF, planID, empID, request );
                if (planID.equalsIgnoreCase("30") || planID.equalsIgnoreCase("32") || planID.equalsIgnoreCase("33") || planID.equalsIgnoreCase("34")  || planID.equalsIgnoreCase("35"))
                    formSunLifePopulation formSL = new formSunLifePopulation();
                    fileout = formSL.populateSunLifeForm( outputFDF, planID, empID, request );
                response.sendRedirect(com.yoursummit.utils.urlRewrite.getServletURL(request,"emp_main.jsp?empID=" + empID));
            } catch(FDFException fdfe) {
                /* We handle an error by emitting an html header */
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                out.println("Caught FDF exception");
                out.println(fdfe.toString());
                fdfe.printStackTrace(out);
                IOException e = new IOException ( fdfe.getMessage() );
                throw e;
            catch(IOException ioe) {
               /* We handle an error by emitting an html header */
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                out.println("Caught FDF exception");
                out.println(ioe.toString());
                ioe.printStackTrace(out);
                throw ioe;
            catch(Exception e) {
                /* We handle an error by emitting an html header */
                response.setContentType("text/html");
                PrintWriter out = response.getWriter();
                out.println("Caught tomcatDB exception");
                out.println(e.toString());
                e.printStackTrace(out);
                IOException ioe = new IOException ( e.getMessage() );
                throw ioe;
        //Clean up resources
        public void destroy()
    }

    I have been told that there is problem with my configuration of Tomcat. I have followed the documentation found at
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html
    and it doesn't work. I have been working on this for a week now and can't seem to get it to work. Can someone please take a look at it and tell me what I am doing wrong? THANKS!
    I get "HTTP 404 - File not Found" with the URL https://www.benefitserver.com/FDFServlet
    I get "Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request" with the URL https://www.benefitserver.com/servlet/FDFServlet
    I've looked at the log files for Apache and I don't see any errors listed. No errors logged in the Tomcat log file either.
    * httpd.conf
    ## Include line for mod_jk.so (Jakarta-Tomcat installation)
    #Include /usr/home/summimps/usr/local/jakarta/jakarta-tomcat-3.2.3/conf/mod_jk.conf-auto
    LoadModule jk_module libexec/mod_jk.so
    AddModule mod_jk.c
    JkWorkersFile /usr/home/summimps/usr/tomcat4.1.24/conf/worker.properties
    JkLogFile /usr/home/summimps/var/log/mod_jk.log
    JkLogLevel info
    #JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    #JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    #JkRequestLogFormat "%w %V %T"
    JkMount /*.jsp benefitserver
    JkMount /solarc/*.jsp benefitserver
    JkMount /servlet/* ajp13
    JkMount /solarc/servlet/* ajp13
    # Should mod_jk send SSL information to Tomcat (default is On)
    #JkExtractSSL On
    # What is the indicator for SSL (default is HTTPS)
    JkHTTPSIndicator HTTPS
    # What is the indicator for SSL session (default is SSL_SESSION_ID)
    JkSESSIONIndicator SSL_SESSION_ID
    # What is the indicator for client SSL cipher suit (default is SSL_CIPHER)
    JkCIPHERIndicator SSL_CIPHER
    # What is the indicator for the client SSL certificated (default is SSL_CLIENT_CERT)
    JkCERTSIndicator SSL_CLIENT_CERT
    <Directory />
    AllowOverride None
    </Directory>
    <Directory "/usr/tomcat4.1.24/webapps/ROOT">
      Options Indexes
      <IfDefine SSL>
        SSLRequireSSL
        SSLOptions +StdEnvVars +ExportCertData +StrictRequire
        SSLVerifyClient require
        SSLVerifyDepth 1
      </IfDefine>
    </Directory>
    <VirtualHost benefitserver.com www.benefitserver.com>
    SSLRequireSSL
    ServerName benefitserver.com
    ServerAdmin [email protected]
    DocumentRoot /usr/local/etc/httpd/htdocs/benefitserver
    TransferLog /usr/local/etc/httpd/logs/bsAccess_log
    ErrorLog /usr/local/etc/httpd/logs/bsError_log
    #DocumentRoot /usr/local/jakarta/jakarta-tomcat-3.2.3/webapps/benefitserver
    </VirtualHost>
    * server.xml
    <?xml version='1.0' encoding='utf-8'?>
    <Server className="org.apache.catalina.core.StandardServer" debug="0" port="8006" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0" jsr77Names="false"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
    <GlobalNamingResources>
    </GlobalNamingResources>
    <Service className="org.apache.catalina.core.StandardService" debug="0" name="Tomcat-Standalone">
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
              redirectPort="8443"
              bufferSize="2048"
              port="8081"
              connectionTimeout="20000"
              scheme="https"
              enableLookups="true"
              secure="true"           protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol"
              debug="0"
              disableUploadTimeout="true"
              maxKeepAliveRequests="100"
              proxyPort="0"
              tcpNoDelay="true"
              minProcessors="5"
              maxProcessors="75"
              acceptCount="100"
              useURIValidationHack="false"
              connectionLinger="-1"
              compression="off">
          <Factory className="org.apache.catalina.net.SSLServerSocketFactory" keystoreFile="//.keystore" keystoreType="JKS" algorithm="SunX509" clientAuth="false" protocol="TLS"/>
        </Connector>
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" redirectPort="8443" bufferSize="2048" port="8010" connectionTimeout="0" scheme="http" enableLookups="true" secure="false" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" debug="0" disableUploadTimeout="false" maxKeepAliveRequests="100" proxyPort="0" tcpNoDelay="true" minProcessors="5" maxProcessors="75" acceptCount="10" useURIValidationHack="false" connectionLinger="-1" compression="off">
          <Factory className="org.apache.catalina.net.DefaultServerSocketFactory"/>
        </Connector>
        <Engine className="org.apache.catalina.core.StandardEngine" mapperClass="org.apache.catalina.core.StandardEngineMapper" debug="0" defaultHost="localhost" name="Standalone">
         <Host className="org.apache.catalina.core.StandardHost"
              appBase="webapps"
              liveDeploy="true"
              mapperClass="org.apache.catalina.core.StandardHostMapper"
              autoDeploy="true"
              configClass="org.apache.catalina.startup.ContextConfig"
              errorReportValveClass="org.apache.catalina.valves.ErrorReportValve"
              debug="9"
              deployXML="true"
              contextClass="org.apache.catalina.core.StandardContext"
              unpackWARs="true"
              name="localhost">
                 <Context className="org.apache.catalina.core.StandardContext"
              crossContext="false"
              reloadable="true"
              mapperClass="org.apache.catalina.core.StandardContextMapper"
              useNaming="true"
              debug="0"
              swallowOutput="false"
              privileged="false"
              displayName="Welcome to BenefitServer"
              wrapperClass="org.apache.catalina.core.StandardWrapper"
              docBase="/usr/tomcat4.1.24/webapps/ROOT"
              cookies="true"
              path=""
              cachingAllowed="true"
              charsetMapperClass="org.apache.catalina.util.CharsetMapper">
                   <Environment name="uploadUrl" override="true" type="java.lang.String" description="URL to display uploaded file in Benefit Server" value="http://www.benefitserver.com:8081/bsup"/>
                   <Environment name="exportPath" override="true" type="java.lang.String" description="Export Path for Benefit Server Export Utility" value="/usr/tomcat4.1.24/webapps/ROOT/bsex"/>
                   <Environment name="uploadPath" override="true" type="java.lang.String" description="Upload Path for Benefit Server" value="/usr/tomcat4.1.24/webapps/ROOT/bsup/"/>
                   <Environment name="tempPath" override="true" type="java.lang.String" description="Temporary Directory for File Upload in Benefit Server - Developm" value="/usr/home/summimps/tmp/benefitserver"/>
                   <Resource name="BS_Data" type="javax.sql.DataSource" scope="Shareable"/>
                   <ResourceParams name="BS_Mail">
                     <parameter>
                       <name>mail.smtp.host</name>
                       <value>localhost</value>
                          </parameter>
                   </ResourceParams>
                   <ResourceParams name="BS_Data">
                     <parameter>
                       <name>url</name>
                       <value>jdbc:mysql://localhost/BS_Data</value>
                     </parameter>
                     <parameter>
                       <name>password</name>
                       <value>kdsusa1350</value>
                     </parameter>
                     <parameter>
                       <name>maxActive</name>
                       <value>50</value>
                     </parameter>
                     <parameter>
                       <name>maxWait</name>
                       <value>5000</value>
                     </parameter>
                     <parameter>
                       <name>driverClassName</name>
                       <value>com.mysql.jdbc.Driver</value>
                     </parameter>
                     <parameter>
                       <name>username</name>
                       <value>summimps</value>
                     </parameter>
                     <parameter>
                       <name>maxIdle</name>
                       <value>5</value>
                     </parameter>
                   </ResourceParams>
                </Context>
          </Host>
          <Logger className="org.apache.catalina.logger.FileLogger" debug="0" verbosity="1" prefix="catalina_log." directory="logs" timestamp="true" suffix=".txt"/>
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" debug="0" resourceName="UserDatabase" validate="true"/>
        </Engine>
      </Service>
    * web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
           <servlet>
                 <servlet-name>FDFServlet</servlet-name>
                 <servlet-class>FDFServlet</servlet-class>
           </servlet>
           <servlet-mapping>
                <servlet-name>FDFServlet</servlet-name>
                <url-pattern>/FDFServlet</url-pattern>
           </servlet-mapping>
    </web-app>

  • Virtual Hosts in Apache HTTP Server

    How to configure virtual hosts in Apache HTTP Server httpd.conf file.
    If I want to access my server with some other name(alias), how can I do this ?
    Suggestions in this matter would be highly helpful.
    Thanks
    Vidhyut Arora

    Following is a note explaining how to setup
    Virtual hosts.
    Hope this helps
    Ranga
    Note:70647.1
    Subject: Apache Server Virtual Hosting
    Last Revision Date: 07-JUN-2001
    PURPOSE
    This document discusses considerations for setting up virtual hosts on an
    Apache machine, to include how to get the hostname working and how to
    configure Apache.
    SCOPE & APPLICATION
    The information in this document is intended for those who manage multiple sites
    using an Apache machine.
    REFERENCES
    First published in Apache Week issue 31 (6th September 1996)
    Last update 20th September 1998
    Using Virtual Hosts
    Virtual Hosts let you run multiple independent Web sites on a single host with
    a single Apache setup.
    One of the most important facilities in Apache is its ability to run virtual
    hosts. This is now the essential way to run multiple Web services - each with
    different host names and URLs - that appear to be completely separate sites.
    This is widely used by ISPs, hosting sites and content providers who need to
    manage multiple sites but do not want to buy a new machine for each one.
    Picking an IP address
    There are two types of virtual hosts: IP-based and non-IP-based. The former is
    where each virtual host has its own IP address. You must have a new IP address
    for each virtual host you want to set up, either from your existing allocation
    or by obtaining more from your service provider. When you have extra IP
    addresses, you tell your machine to handle them. On some operating systems, you
    can give a single ethernet interface multiple addresses (typically with an
    fconfig alias command). On other systems, you must have a different
    physical interface for each IP address (typically by buying extra ethernet
    cards).
    IP addresses are a resource that costs money and are increasingly difficult to
    get, so modern browsers can now also use 'non-IP' virtual hosts. This
    lets you use the same IP address for multiple host names. When the server
    receives an incoming Web connection, it does not know the hostname that was used
    in the URL. However, the new HTTP/1.1 specification adds a facility where the
    browser must tell the server the hostname it is using, on the Host: header. If
    an older browser connects to a non-IP virtual host, it does not send the Host:
    header, so the server must respond with a list of possible virtual
    hosts. Apache provides some help for configuring a site for both old and new
    browsers.
    Picking a Hostname and Updating the DNS
    Having selected an IP address, the next stage is to update the DNS so that
    browsers can convert the hostname into the right address. The DNS is the system
    that every machine connected to the internet uses to find the IP address of host
    names. If your hostname is not in the DNS, no one can connect to
    your server (except by the unfriendly IP address).
    If the virtual hostname you are going to use is under your existing domain,
    you can just add the record into your own DNS server. If the virtual hostname
    is in someone else's domain, you must get them to add it to their DNS
    server files. In some cases, you want to use a domain not yet used on the
    internet, in which case you must apply for the domain name from the
    InterNIC and set up the primary and secondary DNS servers for it, before adding
    the entry for your virtual host.
    In any of these cases, the entry you need to add to the DNS is an address record
    (an A record) pointing to the appropriate IP address. For example, say you want
    the domain www.my-dom.com to access your host with IP address 10.1.2.3: you
    must add the following line to the DNS zone file for my-dom.com:
    www A 10.1.2.3
    Now, users can enter http://www.my-dom.com/ as a URL in their browsers and get
    to your Web server. However, it will return the same information as if the
    machine's original hostname had been used. So, the final stage is to tell Apache
    how to respond differently to the different addresses.
    How Apache Handles Virtual Hosts
    Configuring Apache for virtual hosts is a two-stage process. First, it needs
    to be told which IP addresses (and ports) to listen to for incoming Web
    connections. By default, Apache listens to port 80 on all IP addresses of the
    local machine, and this is often sufficient. If you have a more complex
    requirement, such as listening on various port numbers, or only to specific IP
    addresses, then the BindAddress or Listen directives can be used.
    Second, having accepted an incoming Web connection, the server must be
    configured to handle the request differently, depending on what virtual host it
    was addressed to. This usually involves configuring Apache to use a different
    DocumentRoot.
    Telling Apache Which Addresses to Listen To
    If you are happy for Apache to listen to all local IP addresses on the port
    specified by the Port directive, you can skip this section. However, there are
    some cases where you want to use the directives explained here:
    - If you have many IP addresses on the machine but only want to run a Web
    server on some of them
    - If one or more of your virtual hosts is on a different port
    - If you want to run multiple copies of the Apache server serving different virtual
    hosts
    There are two ways of telling Apache what addresses and ports to listen to:
    - Use the BindAddress directive to specify a single address or port
    - Use the Listen directive to any number of specific addresses or ports
    For example, if you run your main server on IP address 10.1.2.3 port 80, and a
    virtual host on IP 10.1.2.4 port 8000, you would use:
    Listen 10.1.2.3:80
    Listen 10.1.2.4:8000
    Listen and BindAddress are documented on the Apache site.
    Configuring the Virtual Hosts
    Having gotten Apache to listen to the appropriate IP addresses and ports, the
    final stage is to configure the server to behave differently for requests on
    each of the different addresses. This is done using <VirtualHost> sections in
    the configuration files, normally in httpd.conf.
    A typical (but minimal) virtual host configuration looks like this:
    <VirtualHost 10.1.2.3>
    DocumentRoot /www/vhost1
    ServerName www.my-dom.com
    </VirtualHost>
    This should be placed in the httpd.conf file. You replace the text
    10.1.2.3 with one of your virtual host IP addresses. If you want to specify a
    port as well, follow the IP address with a colon and the port number
    (example: 10.1.2.4:8000). If omitted, the port defaults to 80.
    If no <VirtualHost> sections are given in the configuration files, Apache
    treats requests from the different addresses and ports identically. In terms of
    setting up virtual hosts, we call the default behavior the main server
    configuration. Unless overridden by <VirtualHost> sections, the main server
    behaviour is inherited by all the virtual hosts. When configuring virtual
    hosts, you must decide what changes to make in each of the virtual
    host configurations.
    Any directives inside a <VirtualHost> section apply to just that virtual host.
    The directives either override the configuration give in the main server, or
    supplement it, depending on the directive. For example, the DocumentRoot
    directive in a <VirtualHost> section overrides the main server's DocumentRoot,
    while AddType supplements the main server's mime types.
    Now, when a request arrives, Apache uses the IP address and port it arrived on
    to find a matching virtual host configuration. If no virtual host matches the
    address and port, it is handled by the main server configuration. If it does
    match a virtual host address, Apache uses the configuration of that virtual
    server to handle the request.
    For the example above, the server configuration used is the same as the
    main server, except that the DocumentRoot is /www/vhost1, and the
    ServerName is www.my-dom.com. Directives commonly set in <VirtualHost>
    sections are DocumentRoot, ServerName, ErrorLog and TransferLog. Directives
    that deal with handling requests and resources are valid inside <VirtualHost>
    sections. However, some directives are not valid inside <VirtualHost> sections,
    including BindAddress, StartSevers, Listen, Group and User.
    You can have as many <VirtualHost> sections as you want. You can
    leave one or more of your virtual hosts being handled by the main server, or
    have a <VirtualHost> for every available address and port, and leave the main
    server with no requests to handle.
    VirtualHost sections for non-IP Virtual Hosts
    Non-IP virtual hosts are configured in a very similar way. The IP address that
    the requests arrive on is given in the <VirtualHost> directive, and the
    host name is put in the ServerName directive. The difference is that there
    (usually) is more than one <VirtualHost> section handling the same IP address.
    For Apache to know whether a request arriving on a particular IP
    address is supposed to be a name-based requests, the NameVirtualHost directive
    addresses for name-based requests. A virtual host can handle more than one
    non-IP hostname by using the ServerAlias directive, in addition to the
    ServerName.
    null

  • 404 File not Found error trying servlet under https

    Hi,
    This is the first time that I've had to work with SSL. I have a servlet that worked fine under regular http. I had to implement SSL and run my site over https. When I try to access my servlet under HTTPS, I get the 404 File not found error. Is there something that I need to setup for servlets to run under SSL in apache or server.xml? or Do I need to modify my JSP and Servlet code?
    I call my servlet from my JSP on the action method of the form like such:
    * JSP call to servlet
    <form action="https://www.benefitserver.com:8081/FDFServlet" method="post">
    * Servlet code
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.net.ssl.*;
    import java.io.*;
    import java.util.*;
    import com.yoursummit.benefitserver.*;
    import com.adobe.fdf.*;
    import com.adobe.fdf.exceptions.*;
    public class FDFServlet extends HttpServlet
    private static final String CONTENT_TYPE = "text/html";
    private String fileout = "";
    //Initialize global variables
    public void init() throws ServletException
    System.setProperty("java.protocol.handler.pkgs","sun.net.ssl.internal.www.protocol");
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    doPost( request, response);
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    String planID = request.getParameter("planID");
    String empID = request.getParameter("empID");
    HttpSession session = request.getSession();
              try {
                   FDFDoc outputFDF = null;
                   /* Create a new FDF. */
                   outputFDF = new FDFDoc();
    // Set the form fields with values from the database
    if ( planID.equalsIgnoreCase("31") )
    formDeltaPopulation formDP = new formDeltaPopulation();
    fileout = formDP.populateDeltaForm( outputFDF, planID, empID, request );
    if (planID.equalsIgnoreCase("29") )
    formUnicarePopulation formUC = new formUnicarePopulation();
    fileout = formUC.populateUnicareForm( outputFDF, planID, empID, request );
    if (planID.equalsIgnoreCase("30") || planID.equalsIgnoreCase("32") || planID.equalsIgnoreCase("33") || planID.equalsIgnoreCase("34") || planID.equalsIgnoreCase("35"))
    formSunLifePopulation formSL = new formSunLifePopulation();
    fileout = formSL.populateSunLifeForm( outputFDF, planID, empID, request );
    response.sendRedirect(com.yoursummit.utils.urlRewrite.getServletURL(request,"emp_main.jsp?empID=" + empID));
    } catch(FDFException fdfe) {
    /* We handle an error by emitting an html header */
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("Caught FDF exception");
    out.println(fdfe.toString());
    fdfe.printStackTrace(out);
    IOException e = new IOException ( fdfe.getMessage() );
    throw e;
    catch(IOException ioe) {
         /* We handle an error by emitting an html header */
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("Caught FDF exception");
    out.println(ioe.toString());
    ioe.printStackTrace(out);
    throw ioe;
    catch(Exception e) {
    /* We handle an error by emitting an html header */
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("Caught tomcatDB exception");
    out.println(e.toString());
    e.printStackTrace(out);
    IOException ioe = new IOException ( e.getMessage() );
    throw ioe;
    //Clean up resources
    public void destroy()
    }

    I have been told that there is problem with my configuration of Tomcat. I have followed the documentation found at
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html
    and it doesn't work. I have been working on this for a week now and can't seem to get it to work. Can someone please take a look at it and tell me what I am doing wrong? THANKS!
    I get "HTTP 404 - File not Found" with the URL https://www.benefitserver.com/FDFServlet
    I get "Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request" with the URL https://www.benefitserver.com/servlet/FDFServlet
    I've looked at the log files for Apache and I don't see any errors listed. No errors logged in the Tomcat log file either.
    * httpd.conf
    ## Include line for mod_jk.so (Jakarta-Tomcat installation)
    #Include /usr/home/summimps/usr/local/jakarta/jakarta-tomcat-3.2.3/conf/mod_jk.conf-auto
    LoadModule jk_module libexec/mod_jk.so
    AddModule mod_jk.c
    JkWorkersFile /usr/home/summimps/usr/tomcat4.1.24/conf/worker.properties
    JkLogFile /usr/home/summimps/var/log/mod_jk.log
    JkLogLevel info
    #JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    #JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    #JkRequestLogFormat "%w %V %T"
    JkMount /*.jsp benefitserver
    JkMount /solarc/*.jsp benefitserver
    JkMount /servlet/* ajp13
    JkMount /solarc/servlet/* ajp13
    # Should mod_jk send SSL information to Tomcat (default is On)
    #JkExtractSSL On
    # What is the indicator for SSL (default is HTTPS)
    JkHTTPSIndicator HTTPS
    # What is the indicator for SSL session (default is SSL_SESSION_ID)
    JkSESSIONIndicator SSL_SESSION_ID
    # What is the indicator for client SSL cipher suit (default is SSL_CIPHER)
    JkCIPHERIndicator SSL_CIPHER
    # What is the indicator for the client SSL certificated (default is SSL_CLIENT_CERT)
    JkCERTSIndicator SSL_CLIENT_CERT
    <Directory />
    AllowOverride None
    </Directory>
    <Directory "/usr/tomcat4.1.24/webapps/ROOT">
      Options Indexes
      <IfDefine SSL>
        SSLRequireSSL
        SSLOptions +StdEnvVars +ExportCertData +StrictRequire
        SSLVerifyClient require
        SSLVerifyDepth 1
      </IfDefine>
    </Directory>
    <VirtualHost benefitserver.com www.benefitserver.com>
    SSLRequireSSL
    ServerName benefitserver.com
    ServerAdmin [email protected]
    DocumentRoot /usr/local/etc/httpd/htdocs/benefitserver
    TransferLog /usr/local/etc/httpd/logs/bsAccess_log
    ErrorLog /usr/local/etc/httpd/logs/bsError_log
    </VirtualHost>
    * server.xml
    <?xml version='1.0' encoding='utf-8'?>
    <Server className="org.apache.catalina.core.StandardServer" debug="0" port="8006" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="0" jsr77Names="false"/>
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="0"/>
      <GlobalNamingResources>
      </GlobalNamingResources>
      <Service className="org.apache.catalina.core.StandardService" debug="0" name="Tomcat-Standalone">
        <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    redirectPort="8443" bufferSize="2048" port="8081" connectionTimeout="20000" scheme="https" enableLookups="true" secure="true" protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol" debug="0" disableUploadTimeout="true" maxKeepAliveRequests="100" proxyPort="0" tcpNoDelay="true" minProcessors="5" maxProcessors="75" acceptCount="100" useURIValidationHack="false" connectionLinger="-1" compression="off">
          <Factory className="org.apache.catalina.net.SSLServerSocketFactory" keystoreFile="//.keystore" keystoreType="JKS" algorithm="SunX509" clientAuth="false" protocol="TLS"/>
        </Connector>
        <Engine className="org.apache.catalina.core.StandardEngine" mapperClass="org.apache.catalina.core.StandardEngineMapper" debug="0" defaultHost="localhost" name="Standalone">
          <Host className="org.apache.catalina.core.StandardHost" appBase="webapps" liveDeploy="true" mapperClass="org.apache.catalina.core.StandardHostMapper" autoDeploy="true" configClass="org.apache.catalina.startup.ContextConfig" errorReportValveClass="org.apache.catalina.valves.ErrorReportValve" debug="9" deployXML="true" contextClass="org.apache.catalina.core.StandardContext" unpackWARs="true" name="localhost">
            <Context className="org.apache.catalina.core.StandardContext" crossContext="false" reloadable="false" mapperClass="org.apache.catalina.core.StandardContextMapper" useNaming="true" debug="0" swallowOutput="false" privileged="false" displayName="Welcome to Tomcat" wrapperClass="org.apache.catalina.core.StandardWrapper" docBase="/usr/tomcat4.1.24/webapps/ROOT" cookies="true" path="" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper">
              <Environment name="uploadUrl" override="true" type="java.lang.String" description="URL to display uploaded file in Benefit Server" value="http://www.benefitserver.com:8081/bsup"/>
              <Environment name="exportPath" override="true" type="java.lang.String" description="Export Path for Benefit Server Export Utility" value="/usr/tomcat4.1.24/webapps/ROOT/bsex"/>
              <Environment name="uploadPath" override="true" type="java.lang.String" description="Upload Path for Benefit Server" value="/usr/tomcat4.1.24/webapps/ROOT/bsup/"/>
              <Environment name="tempPath" override="true" type="java.lang.String" description="Temporary Directory for File Upload in Benefit Server - Developm" value="/usr/home/summimps/tmp/benefitserver"/>
              <Resource name="BS_Data" type="javax.sql.DataSource" scope="Shareable"/>
              <ResourceParams name="BS_Mail">
                <parameter>
                  <name>mail.smtp.host</name>
                  <value>localhost</value>
                </parameter>
              </ResourceParams>
              <ResourceParams name="BS_Data">
                <parameter>
                  <name>url</name>
                  <value>jdbc:mysql://localhost/BS_Data</value>
                </parameter>
                <parameter>
                  <name>password</name>
                  <value>kdsusa1350</value>
                </parameter>
                <parameter>
                  <name>maxActive</name>
                  <value>50</value>
                </parameter>
                <parameter>
                  <name>maxWait</name>
                  <value>5000</value>
                </parameter>
                <parameter>
                  <name>driverClassName</name>
                  <value>com.mysql.jdbc.Driver</value>
                </parameter>
                <parameter>
                  <name>username</name>
                  <value>summimps</value>
                </parameter>
                <parameter>
                  <name>maxIdle</name>
                  <value>5</value>
                </parameter>
              </ResourceParams>
            </Context>
            <Logger className="org.apache.catalina.logger.FileLogger" debug="0" verbosity="1" prefix="localhost_log." directory="logs" timestamp="true" suffix=".txt"/>
          </Host>
          <Logger className="org.apache.catalina.logger.FileLogger" debug="0" verbosity="1" prefix="catalina_log." directory="logs" timestamp="true" suffix=".txt"/>
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" debug="0" resourceName="UserDatabase" validate="true"/>
        </Engine>
      </Service>
    </Server>
    * web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
           <servlet>
                 <servlet-name>FDFServlet</servlet-name>
                 <servlet-class>FDFServlet</servlet-class>
           </servlet>
           <servlet-mapping>
                <servlet-name>FDFServlet</servlet-name>
                <url-pattern>/FDFServlet</url-pattern>
           </servlet-mapping>
    </web-app>

  • Moving host header site collections to a different URL

    Background:
    We have a SharePoint 2010 farm with a single web app.  Within this web app, we have over 40 site collections.  Unfortunately when they were created, they were all put under their own explicit managed path.  So now we have over 40 managed paths
    and the recommended number of managed paths is 20.  We are planning to create wildcard managed paths and move site collections from
    https://servername/sitename to
    https://servername/U/sitename to reduce the number of managed paths. 
    The implications of this are clear for site collections that are not host header site collections.  Site collection admins will have to adjust any URLs that refer to items in the site collection.  It is less clear for host header site collections. 
    From the user's point of view, the host header URL itself will not change.
    1.  Will internal links in the host header site collections need to be adjusted like in regular site collections?
    2.  Will the e-mail address of e-mail enabled lists and libraries change?
    I would be grateful if anybody has an answer to this.
    Sheila

    If you moved http://sitename.webapplication.domain.com (ie. a host named site collection) to http://webapplication.domain.com/managedPath/sitename then it would obviously have a different URL.
    That is not what you were describing in your first post, the terminiology is a little specific and I think you're getting it a bit wrong. A web application (often) has a host header, that will not change moving a site from an explicit path to a wilcard path.
    A host named site collection is very different and more complicated
    If you are planing on converting
    http://webapplication.domain.com/site1
    http://webapplication.domain.com/site2
    http://webapplication.domain.com/site3
    to
    http://webapplication.domain.com/sites/site1
    http://webapplication.domain.com/sites/site2
    http://webapplication.domain.com/sites/site3
    Then you are not using Host Named (or host header) Site Collections, those are bog standard managed path site collection addresses.
    Now to answer your question: for users to access the sites after the move they must use the /sites/siteX version, if they use an old link then it will not work.
    There is a trick in SharePoint that will keep links that exist within the site collection consistent so that some URLs will be maintained. This is called a relative URL and means that URLs that are within the same Site Collection will automatically work
    with the new URLs.

  • After specifying the external host name under outlook anywhere, users pop up for password

    Dear All,
    I have installed and configured exchange 2013 as a fresh installation on server 2012 and it worked fine till i changed
    specifying the external host name under outlook anywhere(in exchange ECP -> Server -> server -> W12R2-Email2013).
    My internal domain is starnavigator.lk and we have several accepted domains listed. but all the staff checked web mail through
    mail.leoburnett.lk internally and externally. even now web mail is working fine.
    After i added external host name as mail.leoburnett.lk
    all the internal PCs start to pop up for user name and password and its not  connecting. 
    even if I reversed back the settings, still prompt for user name and password. also auto discover cant locate the settings. if i configure the settings manually, i t works for first time and after restarting outlook, again prompt for name and password.Any
    any advice or solution please??
    Thx,
    Dulana

    Run this tool and post the result (only errors)
    https://testconnectivity.microsoft.com/
    After configuring outlook manually, run Test E-Mail Autoconfiguration and Connection Status and post the result.
    Editing just an URL for OA shouldn't cause any issue.
    Did you restarted IIS Service?
    Cheers,
    Gulab Prasad
    Technology Consultant
    Blog:
    http://www.exchangeranger.com    Twitter:
      LinkedIn:
       Check out CodeTwo’s tools for Exchange admins
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Using wildcard in Host header-value

    I have a redirect in my configuration that if a host header matches a certain value, then it will redirect to https.
    Originally I had the full host header, www.domain.com (actually www[.]domain[.]com).
    However, I found out that if a user just enters "domain.com", without the www, it is not being detected and redirected.
    I want to add a wildcard for the host portion.  I tried .*[.]domain[.]com.  But it seems to be hit or miss.  Sometimes it seems to work, but other times it doesn't.
    Is this the correct format for what I'm trying to do?
    Thanks.
    Jason

    Jason-
      Can you send all of the relvant configuration? technically what you have should work, but there are some other things you might need (persistance rebalance, non-case sensitivity, etc.)  Also, you could just add another line to a match-any class for the 2nd header instead of including every possible combination.
    Regards,
    Chris Higgins

  • List of IIS websites with Host header

    Hi, 
    I am looking for a script,  to export a list of websites along with host header information.  This should accept list of IIS servers 6/7/7.5 and provide output into a text file. 
    Thanks,
    Kunal  Jaiswal

    Might look around here.
    https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=RootCategory&f%5B0%5D.Value=servers&f%5B0%5D.Text=Servers&f%5B1%5D.Type=SubCategory&f%5B1%5D.Value=iis&f%5B1%5D.Text=IIS
    or try asking them over here.
    http://forums.iis.net/
    Regards, Dave Patrick ....
    Microsoft Certified Professional
    Microsoft MVP [Windows]
    Disclaimer: This posting is provided "AS IS" with no warranties or guarantees , and confers no rights.

  • Project Server 2013 - After host header defined, WSSCreateSiteFailure

    after configuring webapplication and provisioning PWA (URL: http://<server_name>:<port>/pwa), i have extended the webapp to use host header and SSL protocol. now URL become something like this https://mycompany.com/pwa 
    if users access the site using this new URL, project site creation gives an error in queue as following. in ULS logs there is nothing useful as well. and if i open/publish the same project again, it gives me an error that project site is already in use.
    once point which may can makes a difference is that security certificate for above URL is yet to be configured, and due to this users are getting this certificate error in their browser while access site. could
    this be a cause?
    however if users use the site using the same old URL, project site get successfully created.
    any guesses?
    General
    CreateWssSiteContent: Creating project site failed! Project Uid=6b33f03d-b3af-e311-93fd-00155d01a359, site URL=https://epm/Projects/Project Site Teset, site name=Project Site Teset. :
    WSSCreateSiteFailure (16400). Details: id='16400' name='WSSCreateSiteFailure' uid='0809ce4e-b3af-e311-93fd-00155d01a359' projectUID='6b33f03d-b3af-e311-93fd-00155d01a359' workspaceUrl='https://epm/Projects/Project Site Teset' projectWorkspaceName='Project
    Site Teset'.
    Queue:
    GeneralQueueJobFailed (26000) - CreateWssSite.CreateWssSiteMessage. Details: id='26000' name='GeneralQueueJobFailed' uid='0909ce4e-b3af-e311-93fd-00155d01a359' JobUID='df8efb43-b3af-e311-93fd-00155d01a359' ComputerName='191cfefc-7d92-4801-a9d5-37d90cb6465e'
    GroupType='CreateWssSite' MessageType='CreateWssSiteMessage' MessageId='1' Stage='' CorrelationUID='1fe97e9c-2dfa-d087-6465-e3809f2d856d'. For more details, check the ULS logs on machine
    191cfefc-7d92-4801-a9d5-37d90cb6465e for entries with JobUID
    df8efb43-b3af-e311-93fd-00155d01a359. 
    Khurram Jamshed - MBA, PMP, MCTS, MCITP (
    Blog, Twitter, Linkedin )
    If you found this post helpful, please “Vote as Helpful”. If it answered your question, please “Mark as Answer”.

    Hey Paul, good to see you mate :)
    and yea i think now we are hitting more on the target.
    patch level is 0, its a RTM version without any update. and applying any kind of patch is also not easily possible, because its one server hosting a very complex and huge SharePoint portal as well. 
    with your clue, i have got Brian's blog related to this exact issue: http://blogs.technet.com/b/projectsupport/archive/2013/01/10/project-server-2013-project-sites-alternate-access-mapping-and-themes.aspx
    here he has mentioned a workaround until we apply patch, and also quoted it as a good way of configuring.
    From Brian's Blog:
    The first would be to use the fully qualified domain name (FQDN) as the Default zone Url, and then add an Internal
    Url to the same Default zone for the server name – http://Project2013/. 
    Another option would be to set the FQDN as the Default zone Url and then add the shorter version as the Intranet zone or Custom zone.  Either of these would mean that the strings wouldn’t get confused and the site would get created.
    now in my case, assuming machine name is: ServerA, and while creating webapplication which going to host PWA site i am defining required host header assuming: epm. 
    provisioning my PWA using this web app and defing PWA path as "Project" because its a migrated site so i have to use the same name, and the URL i am going to get in the end would be: http://epm/project
    AAM is, default zone: http://<server>:<port> and intranet zone: http://epm
    is the above complying with the first option of Brian?
    Khurram Jamshed - MBA, PMP, MCTS, MCITP (
    Blog, Twitter, Linkedin )
    If you found this post helpful, please “Vote as Helpful”. If it answered your question, please “Mark as Answer”.

  • Host Header Flash Forms Problems

    Hello,
    I'm running CFMX 7.01 on IIS 6, Windows 2003 Server....
    I've created an intranet application that uses several flash
    forms. The site is located in the folder of
    C:\Inetpub\wwwroot\CorpComWeb. This can be referenced from the
    Default website by
    http://sandy/corpcomweb/ OR
    http://CorpComm (after adding an
    internal DNS host header and then referencing it in Website -
    Advanced - Host header value). This works great for every page
    EXCEPT the two pages that contain CF Flash Forms. When I try to
    access these pages using
    http://CorpComm/flashformpage.cfm it spins into infinity (no
    error just never loads). If I access the page by
    http://sandy/corpcomweb/ the
    page loads fine.
    Any ideas as to why this would be?
    Thanks in advance!

    Ok, stupid mistake on my part.
    When creating the new site in IIS, I forgot to add a virtual
    directory pointing to CFIDE...

  • Remove results that found based on the portal host header

    Hi,
    In case our portal named http://test,
    When search the word "test" -user want to get only results with the text "test" and not results that their url's starts with http://test/*
    How we can remove the non-relevant results? (maybe with a query rule? or make one of the managed properties related to the URL as non-searchable?)
    keren tsur

    Hi Keren,
    According to your description, my understanding is that you want to remove the results which were found based on the host header.
    If the URL contains the searched keyword, then the results will include the content the URL referring to.
    If you don’t want to display the content whose URL starts with the host header, then you can add property filter using SPSiteURL to exclude the results you don’t want:
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • ACE ; probe for host header-value

    Hi,
    we have following probe setup. sometimes this probe fails because server resets the connection but server team claims there aren't any issues with server.
    probe https probe1.abc.com:10456
      port 10456
      interval 34
      passdetect interval 17
      ssl version all
      expect status 200 200
      header Host header-value "probe1.abc.com"
      open 1
    is there a way to validate able probe using linux/linux servers? i.e. using unix/linux server is there a way to send that host header-value to the servers and see if servers are responding with 200 OK status? if not from Unix/Linux servers than if there any otherway to validate it apart from validating it from ACE?
    Thanks...

    or can we do it using window? maybe using firefox on windows machine?
    please advise.

  • Host header-value matching where a port is used.

    Hi all,
    Would anyone be able to advise on the match value where the host header includes a port, e.g. www.mysite.com:9080. My question here goes to the collon preceding the port. Can this be done? If so, how?
    If not, what is other option to match on, wildcard? The scenarion is same site being accessed, so www.mysite.com remains unchanged, but on varoius ports, around 20 differnt ports. Issue is port is part of host header.
    Any guidance or advice would be appreciated.
    Thank you.
    Paul.

    Hi all,
    Would something like this below work? Trying to catch all the various ports that may be utilised (9080 -9099).
    class-map type http loadbalance match-all L7-APP1
    match http Host header-value www[.]mysite[.]com[:]90*
    Thanks
    Paul

  • HTTP request error under HTTPS

    Under the HTTPS, we encountered an issue that the content responed by WebSpwhere would display a http request error in flash, but if the content was compressed the flash works fine, may i know if it is necessory to compress everthing response to flash player under https?
    More Detail:
    The applicate side has a header setting for the response as below:
         response.setContentType("text");
         response.setHeader("Cache-Control", "no-cache, must-revalidate");
    The flash would have http request error with below setting in the WebSpwhere's IHS
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/plain text/xml
    But if we change it like below it would works fine.
        AddOutputFilterByType DEFLATE text
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/plain text/xml

    I always found it odd Flash didn't just use text/plain but to answer you, no you do not need to gzip before sending over HTTPS. Unless it interferes with other things, since you're already compressing text, maybe it's just a good idea to compress it.

Maybe you are looking for