AnsweredAssumed Answered

Alfresco Zugang nur über HTTPS (kein HTTP möglich)

Question asked by userfrank on Dec 2, 2010
Latest reply on Jan 24, 2011 by thomash
Hallo,
ich habe bei meinem Alfresco 3.3 den HTTPS-Connector konfiguriert und es funktioniert auch. Damit jedoch sichergestellt ist, dass alle Anwender den HTTPS-Port 8443 nutzen und nicht den HTTP-Port 8080 möchte ich den Connector für 8080 ausschalten bzw. blocken.

Wenn ich den Connector für Port 8080 in server.xml auskommentiere, kann ich mit dem Alfresco Explorer normal über https (8443) zugreifen. Mit Share bekomme ich folgende Fehlermeldung:
HTTP Status 500 - type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.extensions.surf.exception.PlatformRuntimeException: 11020001 Unable to retrieve object: slingshot.site.configuration of type: configuration
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:659)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause
org.springframework.extensions.surf.exception.PlatformRuntimeException: 11020001 Unable to retrieve object: slingshot.site.configuration of type: configuration
   org.springframework.extensions.surf.ObjectPersistenceService.getObject(ObjectPersistenceService.java:130)
   org.springframework.extensions.surf.ModelObjectService.getObject(ModelObjectService.java:507)
   org.springframework.extensions.surf.ModelObjectService.getConfiguration(ModelObjectService.java:135)
   org.springframework.extensions.surf.site.SiteUtil.getSiteConfiguration(SiteUtil.java:99)
   org.springframework.extensions.surf.support.AbstractRequestContext.getSiteConfiguration(AbstractRequestContext.java:138)
   org.springframework.extensions.surf.mvc.ThemeInterceptor.preHandle(ThemeInterceptor.java:66)
   org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.preHandle(WebRequestHandlerInterceptorAdapter.java:54)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:761)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause
org.springframework.extensions.surf.exception.ModelObjectPersisterException: Error loading object id: slingshot.site.configuration from persister id: webframework.slingshot.persister.remote
   org.springframework.extensions.surf.persister.MultiObjectPersister.getObject(MultiObjectPersister.java:102)
   org.springframework.extensions.surf.ObjectPersistenceService.getObject(ObjectPersistenceService.java:126)
   org.springframework.extensions.surf.ModelObjectService.getObject(ModelObjectService.java:507)
   org.springframework.extensions.surf.ModelObjectService.getConfiguration(ModelObjectService.java:135)
   org.springframework.extensions.surf.site.SiteUtil.getSiteConfiguration(SiteUtil.java:99)
   org.springframework.extensions.surf.support.AbstractRequestContext.getSiteConfiguration(AbstractRequestContext.java:138)
   org.springframework.extensions.surf.mvc.ThemeInterceptor.preHandle(ThemeInterceptor.java:66)
   org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.preHandle(WebRequestHandlerInterceptorAdapter.java:54)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:761)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause
org.springframework.extensions.surf.exception.ModelObjectPersisterException: Failure to load model object for path: alfresco/site-data/configurations/slingshot.site.configuration.xml
   org.springframework.extensions.surf.persister.PathStoreObjectPersister.getObject(PathStoreObjectPersister.java:251)
   org.springframework.extensions.surf.persister.MultiObjectPersister.getObject(MultiObjectPersister.java:98)
   org.springframework.extensions.surf.ObjectPersistenceService.getObject(ObjectPersistenceService.java:126)
   org.springframework.extensions.surf.ModelObjectService.getObject(ModelObjectService.java:507)
   org.springframework.extensions.surf.ModelObjectService.getConfiguration(ModelObjectService.java:135)
   org.springframework.extensions.surf.site.SiteUtil.getSiteConfiguration(SiteUtil.java:99)
   org.springframework.extensions.surf.support.AbstractRequestContext.getSiteConfiguration(AbstractRequestContext.java:138)
   org.springframework.extensions.surf.mvc.ThemeInterceptor.preHandle(ThemeInterceptor.java:66)
   org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.preHandle(WebRequestHandlerInterceptorAdapter.java:54)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:761)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause
java.io.IOException: Unable to test document path: alfresco/site-data/configurations/slingshot.site.configuration.xml in remote store: alfresco due to error: 498 Connection refused: connect
   org.springframework.extensions.webscripts.RemoteStore.hasDocument(RemoteStore.java:347)
   org.springframework.extensions.surf.persister.PathStoreObjectPersister.getObject(PathStoreObjectPersister.java:216)
   org.springframework.extensions.surf.persister.MultiObjectPersister.getObject(MultiObjectPersister.java:98)
   org.springframework.extensions.surf.ObjectPersistenceService.getObject(ObjectPersistenceService.java:126)
   org.springframework.extensions.surf.ModelObjectService.getObject(ModelObjectService.java:507)
   org.springframework.extensions.surf.ModelObjectService.getConfiguration(ModelObjectService.java:135)
   org.springframework.extensions.surf.site.SiteUtil.getSiteConfiguration(SiteUtil.java:99)
   org.springframework.extensions.surf.support.AbstractRequestContext.getSiteConfiguration(AbstractRequestContext.java:138)
   org.springframework.extensions.surf.mvc.ThemeInterceptor.preHandle(ThemeInterceptor.java:66)
   org.springframework.web.servlet.handler.WebRequestHandlerInterceptorAdapter.preHandle(WebRequestHandlerInterceptorAdapter.java:54)
   org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:761)
   org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
   org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
   org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.

Ich nutze Alfreso CE 3.3 mit die mitgelieferten MySQL und Tomcat  6.0.18, es läuft auf einem Windows 2003 Server.
Der wichtige Teil der Server.xml ist hier:
   
<!–
    <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
               connectionTimeout="20000"
               redirectPort="8443" />
–>
    <!– A "Connector" using the shared thread pool–>
    <!–
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    –>          
    <!– Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the JSSE configuration, when using APR, the
         connector should be using the OpenSSL style configuration
    –>

    <Connector port="8443" maxThreads="150"
               scheme="https" secure="true" SSLEnabled="true"
          keystoreFile="${user.home}/.keystore" keystorePass="+++++"
               clientAuth="false" sslProtocol="TLS"/>

Woran liegt es, dass Share nicht funktioniert? Ist es der richtige Weg, die den 8080-Connector auszukommentieren, um nur den HTTPS-Connector für den Zugang zu verwenden? Ich bin für jeden Ratschlag bei diesem Problem und für andere Lösungsvorschläge dankbar.

Viele Grüße
Frank

Outcomes