As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
It is important to note that configuring Tomcat to take advantage of secure sockets is usually only necessary when running it as a stand-alone web server. When running Tomcat primarily as a Servlet/JSP container behind another web server, such as Apache or Microsoft IIS, it is usually necessary to configure the primary web server to handle the SSL connections from users. Typically, this server will negotiate all SSL-related functionality, then pass on any requests destined for the Tomcat container only after decrypting those requests. Likewise, Tomcat will return cleartext responses, that will be encrypted before being returned to the user's browser. In this environment, Tomcat knows that communications between the primary web server and the client are taking place over a secure connection (because your application needs to be able to ask about this), but it does not participate in the encryption or decryption itself.
<IfModule mod_ssl.c> NameVirtualHost *:443 #### #### DOCS.DOMAIN.TLD #### #### <virtualhost *:443> ServerName docs.domain.tld ServerAlias alfresco.domain.tld ServerAdmin webmaster@domain.tld ### ### ### ### ### ### ### Start SSL SSLEngine On ### Certificates SSLCertificateFile /etc/apache2/ssl/star_domain_tld.crt SSLCertificateKeyFile /etc/apache2/ssl/star_domain_tld.key SSLCertificateChainFile /etc/apache2/ssl/DigiCertCA.crt ### Only allow SSLv3 and TLSv1 and HIGH/MED encryption. SSLCipherSuite -ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+TLSv1:+SSLv3:-EXP:-eNULL SSLProtocol -all +SSLv3 +TLSv1 ### ### ### ### ### ### #Dummy folder for virtual host DocumentRoot /var/www/htdocs/docs.domain.tld/ <directory /var/www/htdocs/docs.domain.tld/> Options -Indexes -FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </directory> ErrorLog /var/log/apache2/docs.domain.tld_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/docs.domain.tld_access.log combined ### Log to Syslog LogLevel notice ErrorLog syslog:local6 #CustomLog "|/usr/bin/logger -t apache -i -p local6.notice" combined ServerSignature Off ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /share http://localhost:8080/share ProxyPassReverse /share http://localhost:8080/share ProxyPass /alfresco http://localhost:8080/alfresco ProxyPassReverse /alfresco http://localhost:8080/alfresco </virtualhost> </IfModule>
What does the configuration look like?Personally I prefer to use mod_jk when proxying Tomcat with Apache, it's very simple to setup and seems to be pretty failsafe:http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
I use to have the same problem when running Alfresco with Apache reverse proxy over SSL. When using mod_jk instead, all problems vanished. I recommend you do the same. Regards.
JkWorkersFile /etc/apache2/workers.properties # Where to put jk logs JkLogFile /var/log/apache2/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel info # Select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize -ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" # Send servlet for context /alfresco to your repository JkMount /share worker1 JkMount /alfresco worker1 # Send JSPs for context /alfresco/* to your repository JkMount /share/* worker1 JkMount /alfresco/* worker1
workers.tomcat_home=/usr/share/tomcat6 workers.java_home=/usr/lib/jvm/java-6-sun-1.6.0.16 ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1
<!– Define an AJP 1.3 Connector on port 8009 –> <Connector port="8009" enableLookups="false" redirectPort="8442" protocol="AJP/1.3" URIEncoding="UTF-8" />
JkMountCopy On JkMount /alfresco worker1 JkMount /alfresco/* worker1 JkMount /share worker1 JkMount /share/* worker1