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> |