美国服务器

如何将文件接收地址AS2 URL中的HTTP修改为HTTPS?

采购信息描述及网友解答
Internet普及之后,企业倾向于在Internet上进行传输,因为费用低廉,但是需要相应的新传输协议保证报文传输的安全性,于是就出现了AS2传输协议。

AS2目的在于通过Internet安全可靠地传输商业文档。首先通过数据加密和数字签名生成数据包,然后基于HTTP(或HTTPS)通过互联网或任何TCP/IP网络进行安全可靠的数据交换。 为了数据传输安全,大多数用户都会选择HTTPS,在HTTP的基础上增加了SSL协议,依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

之前有许多客户提问过,如何将AS2 文件接收地址中的HTTP改为HTTPS?下文将根据不同的服务器环境来详细说明修改过程。

Window 环境下
1. 安装SSL 私钥证书,打开控制台(命令行窗口运行mmc)。
2. 点击文件,添加管理单元。
3. 选择证书添加,选择计算机账户。
AS2

AS2

AS2

4. 在证书->个人处,右击选择所有任务->导入。
AS2

5. 导入私钥证书(导入到本地计算机)。
AS2

6. 在知行EDI系统中启用SSL,并选择已经导入的TLS/SSL证书,save并restart。
AS2

7.访问https路径:https://localhost:8401/。
Linux 环境下
Tomcat 部署
1. 在tomcat上部署rssbus后,路径访问:http://localhost:8080/rssbus
tomcat默认的http访问端口为8080,如需更改端口,可以修改Tomcat配置文件 confserver.xml:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
1
2
3
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
自定义上方配置信息中的port属性,例如将http访问端口修改为8090,修改后重启tomcat,访问路径:http://localhost:8090/rssbus

2. 在Tomcat上部署PFX证书:打开Tomcat配置文件 confserver.xml
注释code里有:Define an SSL HTTP/1.1 Connector on port 8443,在注释下方添加配置信息:

<Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:ProgramDataRSSBusconnectdatatest.pfx" keystorePass="test">
    </Connector>
1
2
3
<Connector port="8443" protocol="HTTP/1.1"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:ProgramDataRSSBusconnectdatatest.pfx" keystorePass="test">
    </Connector>
注:keystoreFile是PFX证书文件路径,keystorePass是PFX证书密码。

3. 重启Tomcat,访问https路径:https://localhost:8443/rssbus。
Jetty 部署
1. 在服务器上部署rssbus后,访问:http://localhost:8080/。
2. 打开安装路径下的配置文件:rssbus.xml,配置ssl证书。
<Arg name="sslContextFactory">
    <New class="org.eclipse.jetty.util.ssl.SslContextFactory">
        <Set name="KeyStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
        <Set name="KeyStorePassword">test</Set>
        <Set name="KeyManagerPassword">test</Set>
        <Set name="TrustStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
        <Set name="TrustStorePassword">test</Set>
     </New>
</Arg>
1
2
3
4
5
6
7
8
9
<Arg name="sslContextFactory">
    <New class="org.eclipse.jetty.util.ssl.SslContextFactory">
        <Set name="KeyStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
        <Set name="KeyStorePassword">test</Set>
        <Set name="KeyManagerPassword">test</Set>
        <Set name="TrustStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
        <Set name="TrustStorePassword">test</Set>
     </New>
</Arg>
AS2

3. 重启rssbus服务,访问https路径:https://localhost:8080/。
4. 如果需要http和https同时工作,则需要添加httpsConnector,并指定端口。
<Call name="addConnector">
    <Arg>
      <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector">
        <Arg name="server"><Ref refid="rssbusServer" /></Arg>
        <Arg name="sslContextFactory">
          <New class="org.eclipse.jetty.util.ssl.SslContextFactory">
            <Set name="KeyStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
            <Set name="KeyStorePassword">test</Set>
            <Set name="KeyManagerPassword">test</Set>
            <Set name="TrustStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
            <Set name="TrustStorePassword">test</Set>
          </New>
        </Arg>
        <Set name="port"><Property name="jetty.https.port" default="8081" /></Set>
        <Get name="SelectorManager">
          <Set name="connectTimeout"><Property name="jetty.http.connectTimeout" default="15000"/></Set>
        </Get>
      </New>
    </Arg>
  </Call>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<Call name="addConnector">
    <Arg>
      <New id="httpsConnector" class="org.eclipse.jetty.server.ServerConnector">
        <Arg name="server"><Ref refid="rssbusServer" /></Arg>
        <Arg name="sslContextFactory">
          <New class="org.eclipse.jetty.util.ssl.SslContextFactory">
            <Set name="KeyStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
            <Set name="KeyStorePassword">test</Set>
            <Set name="KeyManagerPassword">test</Set>
            <Set name="TrustStorePath"><SystemProperty name="rssbus.home" default="."/>/connect/data/test.pfx</Set>
            <Set name="TrustStorePassword">test</Set>
          </New>
        </Arg>
        <Set name="port"><Property name="jetty.https.port" default="8081" /></Set>
        <Get name="SelectorManager">
          <Set name="connectTimeout"><Property name="jetty.http.connectTimeout" default="15000"/></Set>
        </Get>
      </New>
    </Arg>
  </Call>
AS2

5. 重启rssbus服务,访问路径:http://localhost:8080/ 和 https://localhost:8081/。
IIS 上部署
1. 打开IIS管理器,在服务器证书界面点击导入(Import),如图:
AS2

AS2

AS2

2. 成功导入证书后,选择要配置该SSL证书的应用,点击绑定(Bindings),如图:
AS2

3. 点击添加(Add)按钮,弹出对话框,选择https类型,在SSL证书(SSL certificate)处选择刚刚导入的证书,点击确定即完成导入,如图:
AS2

AS2

4.进行http和https访问。
AS2
[美国服务器网图文来源于网络,如有侵权,请联系删除]