2014-09-30 99 views
0

我配置了alfresco以便在端口443上使用HTTPS。 由于tomcat使用的是APR连接器,因此我必须为SSL连接生成.cer文件和.key文件一个文件的.keystore的 )我也提到了以下链接: http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html使用HTTPS和共享点协议配置alfresco

http://docs.alfresco.com/4.2/tasks/SharePoint-SSL.html

这里是从我的server.xml文件中的设置:

<Connector 
     protocol="HTTP/1.1" 
     port="443" maxThreads="200" 
     scheme="https" secure="true" SSLEnabled="true" 
     SSLCertificateFile="/root/mycompany.crt" 
     SSLCertificateKeyFile="/root/mycompany.key" 
     SSLVerifyClient="optional" SSLProtocol="TLSv1"/> 

alfresco-global.properties有以下变化:

alfresco.port=443 
alfresco.protocol=https 
share.port=443 
share.protocol=https 

现在https://sitename.com/share工作正常,除了微软Office编辑在线部分。

谁能告诉配置应在VTI共享点协议的一部分何去何从什么:

vti.server.port=7070 
vti.server.protocol=https 
vti.server.ssl.keystore=/opt/alfresco-4.2.2/alf_data/keystore/ssl.keystore 
vti.server.ssl.password=kT9X6oe68t 
vti.server.url.path.prefix=/alfresco 
vti.server.external.host=localhost 
vti.server.external.port=7070 
vti.server.external.protocol=https 
vti.server.external.contextPath=/alfresco 

请帮助。 谢谢!

+0

我认为这只是使用Mozilla Firefox的作​​品。看看这个 - > https://forums.alfresco.com/forum/end-user-discussions/alfresco-share/solved-activate-online-edit-ms-office-docs-01282009-1655 – Miki 2014-09-30 12:58:54

+0

嗨@Miki,谢谢为链接。我可以看到在线编辑按钮,如果我使用自己和SOLR之间的通信使用SSL证书,就可以运行,如链接中所述:http://blyx.com/2014/04/01/alfresco-tip-如何对使-SSL-在-露天-SharePoint的协议/。但是现在我想使用我的自签名证书。 – juilee 2014-09-30 13:16:34

+0

如果您尝试在浏览器中访问“https:// localhost:7070 /”,会发生什么情况?是否会加载“它可以工作 - 这是SPP”页面,还是会出现错误? – Gagravarr 2014-09-30 21:51:51

回答

1

经过几周的Alfresco文档的努力(与实际工作的步骤明显不同)以及在线链接的帮助之后,我最终能够在Linux操作系统上使用Alfresco中的sharepoint协议配置HTTPS ,带有GoDaddy CA的证书。

这里有步骤的详细列表:

  1. 生成一个密钥存储 密钥工具-keysize 2048 -genkey -alias tomcat的-keyalg RSA -keystore tomcat.keystore
  2. 生成CSR 的keytool -certreq - keyalg RSA -alias tomcat -file csr.csr -keystore tomcat.keystore
  3. 从GoDaddy获取证书
  4. 从其站点下载根证书; gdroot-g2.crt
  5. 安装根证书 密钥工具-import -alias根-keystore tomcat.keystore -trustcacerts -file gdroot-g2.crt
  6. 安装中间证书 密钥工具-import -alias INTERMED -keystore tomcat.keystore -trustcacerts -file gdig2.crt
  7. 安装颁发的证书 的keytool -import -alias tomcat的-keystore tomcat.keystore -trustcacerts -file域。CRT

  8. 变化在server.xml中

用于SSL 使用的端口443添加新的连接器443

 <Connector port="443" URIEncoding="UTF-8" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" keystoreFile="/opt/alfresco-4.2.3.1/tomcat/tomcat.keystore" keystorePass="changeit" keystoreType="JKS" secure="true" connectionTimeout="240000" truststoreFile="/opt/alfresco-4.2.3.1/tomcat/tomcat.keystore" truststorePass="changeit" truststoreType="JKS" clientAuth="want" sslProtocol="TLS" allowUnsafeLegacyRenegotiation="true" maxHttpHeaderSize="32768" /> 

添加端口重定向到正常的8080端口

<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="443" maxHttpHeaderSize="32768" /> 

9.重新启动tomcat。现在露天应HTTPS

  • 更新alfresco-global.properties vti.server.port = 7070 vti.server.protocol = HTTPS vti.server.ssl.keystore工作=/opt/alfresco-4.2.3.1/tomcat/tomcat.keystore vti.server.ssl.password = changeit vti.server.url.path.prefix =/alfresco vti.server.external.host = servername.domain .COM vti.server.external.port = 7070 vti.server.external.protocol = HTTPS vti.server.external.contextPath = /露天

  • 更改tomcat/webapps/alfresco/WEB-
    中的vti -context.xml文件INF/classes/alfresco/module/org.alfresco.module.vti/context/vti-context.xml为: 将现有的“vtiServerConnector” 豆,并取消 类= “org.mortbay.jetty.security.SslSocketConnector”>

  • 1

    对于真正的SharePoint协议SSL,你需要重写vtiServerConnector豆,就像这样:

    <!-- Use this Connector instead for SSL communications --> 
    <!-- You will need to set the location of the KeyStore holding your --> 
    <!-- server certificate, along with the KeyStore password --> 
    <!-- You should also update the vti.server.protocol property to https --> 
    
    <bean id="vtiServerConnector" class="org.mortbay.jetty.security.SslSocketConnector"> 
        <property name="port"> 
         <value>${vti.server.port}</value> 
        </property> 
        <property name="headerBufferSize"> 
         <value>8192</value> 
        </property> 
        <property name="maxIdleTime"> 
         <value>30000</value> 
        </property> 
        <property name="keystore"> 
         <value>${vti.server.ssl.keystore}</value> 
        </property> 
        <property name="keyPassword"> 
         <value>${vti.server.ssl.password}</value> 
        </property> 
        <property name="password"> 
         <value>${vti.server.ssl.password}</value> 
        </property> 
        <property name="keystoreType"> 
         <value>JCEKS</value> 
        </property> 
    </bean> 
    

    更改vti.server.external.protocol在alfresco-global.properties到HTTPS

    ,并设置正确的价值观VOOR vti.server.ssl.keystorevti.server.ssl.password

    +0

    嗨@塔希尔,感谢您的回复。我没有覆盖vtiServerConnection bean,并在alfresco-global.properties中添加了属性。我只是混淆了vti.server.ssl.keystore和vti.server.ssl.password的正确值,因为我使用的是.cer和.key文件,而不是带密码的.keystore文件。我的Tomcat SSL。我终于得到它与ssl.keystore和默认密码。但是,不知道这是否是正确的做法。 – juilee 2014-10-01 13:47:19

    +0

    Eehm我刚刚在/ alf_data/keystore文件夹中使用了提供的Alfresco密钥库和密码文件。我无法对.cer文件和.key文件发表评论,肯定有一种方法可以正确执行此操作。 – 2014-10-01 14:02:29

    +1

    有一点谷歌和堆栈帮助,我发现这个:http://stackoverflow.com/questions/17695297/importing-the-private-key-public-certificate-pair-in-the-java-keystore – 2014-10-01 14:05:53