如何将文件接收地址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. 选择证书添加,选择计算机账户。
4. 在证书->个人处,右击选择所有任务->导入。
5. 导入私钥证书(导入到本地计算机)。
6. 在知行EDI系统中启用SSL,并选择已经导入的TLS/SSL证书,save并restart。
7.访问https路径:https://localhost:8401/。
Linux 环境下
Tomcat 部署
1. 在tomcat上部署rssbus后,路径访问:http://localhost:8080/rssbus
tomcat默认的http访问端口为8080,如需更改端口,可以修改Tomcat配置文件 conf\server.xml:
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配置文件 conf\server.xml
注释code里有:Define an SSL HTTP/1.1 Connector on port 8443,在注释下方添加配置信息:
1
2
3
|
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\ProgramData\RSSBus\connect\data\test.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证书。
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>
|
3. 重启rssbus服务,访问https路径:https://localhost:8080/。
4. 如果需要http和https同时工作,则需要添加httpsConnector,并指定端口。
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>
|