我有一个API在我的两个Web服务器之一上运行良好,但在另一个或本地机器上没有运行,而是当我在登录过程中发送https请求时,我的连接失败.
请求非常简单,并且在运行它的三台服务器之一上运行时没有问题.第一个如下:
我看了一眼,这似乎是一个常见的问题,但这个解决方案没有提供任何乐趣.
我假设有一些我可能会忽略的安全设置?如果有帮助的话,我可以点击页面并在本地计算机上的浏览器中登录.
有人有建议吗?
这是CFDUMP中返回的内容:
Debugging Information ColdFusion Server Developer 9,0,0,251028 Template /CraigTest/FUT/FIFACPB/logInSearchAccount17.cfm Time Stamp 09-Dec-13 11:40 AM Locale English (UK) User Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 Remote IP 127.0.0.1 Host Name 127.0.0.1 ________________________________________ Execution Time Total Time Avg Time Count Template 608 ms 608 ms 1 C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\logInSearchAccount17.cfm 5 ms 5 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\Application.cfc | onRequestStart(/CraigTest/FUT/FIFACPB/logInSearchAccount17.cfm) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\Application.cfc 1 ms 1 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Player.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Player.cfc 0 ms 0 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Bid.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Bid.cfc 0 ms 0 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Club.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Club.cfc 0 ms 0 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Connect.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Connect.cfc 0 ms 0 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Search.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\Search.cfc 0 ms 0 ms 1 CFC[ C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\doLogin.cfc | init([complex value]) ] from C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\cfcs\doLogin.cfc 4 ms STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN 617 ms TOTAL EXECUTION TIME red = over 250 ms average execution time ________________________________________ Scope Variables CGI Variables: AUTH_PASSWORD= AUTH_TYPE= AUTH_USER= CERT_COOKIE= CERT_FLAGS= CERT_ISSUER= CERT_KEYSIZE= CERT_SECRETKEYSIZE= CERT_SERIALNUMBER= CERT_SERVER_ISSUER= CERT_SERVER_SUBJECT= CERT_SUBJECT= CF_TEMPLATE_PATH=C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\logInSearchAccount17.cfm CONTENT_LENGTH= CONTENT_TYPE= CONTEXT_PATH= GATEWAY_INTERFACE= HTTPS= HTTPS_KEYSIZE= HTTPS_SECRETKEYSIZE= HTTPS_SERVER_ISSUER= HTTPS_SERVER_SUBJECT= HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_ENCODING=gzip, deflate HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.5 HTTP_CONNECTION=keep-alive HTTP_COOKIE=cf_debug_general=block; cf_debug_template_stack=block; CFID=15108; CFTOKEN=12249080; CFAUTHORIZATION_cfadmin=YWRtaW4NRTg5NzE2OTdCODczMUI0MDVBM0UxRTZCMjI2N0I1MDA5M0QzQkE4MQ1jZmFkbWlu; CFADMIN_LASTPAGE_ADMIN=%2FCFIDE%2Fadministrator%2Fdebugging%2Findex%2Ecfm HTTP_HOST=127.0.0.1:8500 HTTP_REFERER= HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 PATH_INFO= PATH_TRANSLATED=C:\Services\web\wwwroot\CraigTest\FUT\FIFACPB\logInSearchAccount17.cfm QUERY_STRING=reinit=1 REMOTE_ADDR=127.0.0.1 REMOTE_HOST=127.0.0.1 REMOTE_USER= REQUEST_METHOD=GET SCRIPT_NAME=/CraigTest/FUT/FIFACPB/logInSearchAccount17.cfm SERVER_NAME=127.0.0.1 SERVER_PORT=8500 SERVER_PORT_SECURE=0 SERVER_PROTOCOL=HTTP/1.1 SERVER_SOFTWARE= WEB_SERVER_API= Cookie Variables: CFADMIN_LASTPAGE_ADMIN=/CFIDE/administrator/debugging/index.cfm CFAUTHORIZATION_cfadmin=YWRtaW4NRTg5NzE2OTdCODczMUI0MDVBM0UxRTZCMjI2N0I1MDA5M0QzQkE4MQ1jZmFkbWlu CFID=15108 CFTOKEN=12249080 cf_debug_general=block cf_debug_template_stack=block Session Variables: biddingaccountloggedin=0 biddingaccountloginattempts=0 cfid=15108 cftoken=12249080 mainaccountloggedin=0 mainaccountloginattempts=0 pricingaccountloggedin=0 pricingaccountloginattempts=0 searchaccount10loggedin=0 searchaccount10loginattempts=0 searchaccount11loggedin=0 searchaccount11loginattempts=0 searchaccount12loggedin=0 searchaccount12loginattempts=0 searchaccount13loggedin=0 searchaccount13loginattempts=0 searchaccount14loggedin=0 searchaccount14loginattempts=0 searchaccount15loggedin=0 searchaccount15loginattempts=0 searchaccount16loggedin=0 searchaccount16loginattempts=0 searchaccount17gamertag=ZappyShrimp8 searchaccount17loggedin=0 searchaccount17loginattempts=0 searchaccount18loggedin=0 searchaccount18loginattempts=0 searchaccount19loggedin=0 searchaccount19loginattempts=0 searchaccount1loggedin=0 searchaccount1loginattempts=0 searchaccount20loggedin=0 searchaccount20loginattempts=0 searchaccount21loggedin=0 searchaccount21loginattempts=0 searchaccount22loggedin=0 searchaccount22loginattempts=0 searchaccount23loggedin=0 searchaccount23loginattempts=0 searchaccount24loggedin=0 searchaccount24loginattempts=0 searchaccount25loggedin=0 searchaccount25loginattempts=0 searchaccount26loggedin=0 searchaccount26loginattempts=0 searchaccount27loggedin=0 searchaccount27loginattempts=0 searchaccount28loggedin=0 searchaccount28loginattempts=0 searchaccount29loggedin=0 searchaccount29loginattempts=0 searchaccount2loggedin=0 searchaccount2loginattempts=0 searchaccount30loggedin=0 searchaccount30loginattempts=0 searchaccount3loggedin=0 searchaccount3loginattempts=0 searchaccount4loggedin=0 searchaccount4loginattempts=0 searchaccount5loggedin=0 searchaccount5loginattempts=0 searchaccount6loggedin=0 searchaccount6loginattempts=0 searchaccount8loggedin=0 searchaccount8loginattempts=0 sessionid=FIFAAUTOBUYER_15108_12249080 urltoken=CFID=15108&CFTOKEN=12249080 URL Parameters: reinit=1 Debug Rendering Time: 21 ms
CFDUMP STAGE2:
struct Charset [empty string] ErrorDetail I/O Exception: peer not authenticated Filecontent Connection Failure Header [empty string] Mimetype Unable to determine MIME type of file. Responseheader struct [empty] Statuscode Connection Failure. Status code unavailable. Text YES
Miguel-F.. 24
如果您使用cfhttp
SSL(https)进行连接,则ColdFusion服务器肯定需要安装证书才能成功连接.以下是我在类似问题上给出的回答:
以下是为了将证书安装到ColdFusion的Java密钥库而需要执行的步骤.首先,确保您正在更新ColdFusion正在使用的正确cacerts文件.如果您在该服务器上安装了多个JRE.您可以在"系统信息"下验证管理员使用的JRE ColdFusion.查找Java Home行.
默认信任库是JRE的cacerts文件.此文件通常位于以下位置:
服务器配置:
cf_root /运行/ JRE/lib/security中/ cacerts中
JRun 4配置上的Multiserver/J2EE:
jrun_root/JRE/lib/security中/ cacerts中
Sun JDK安装:
jdk_root/JRE/lib/security中/ cacerts中
请参阅其他J2EE应用程序服务器和JVM的文档
要安装证书,您需要先获取证书的副本.这可以通过使用Internet Explorer完成.请注意,不同版本的Internet Explorer的行为略有不同,但应与这些步骤非常相似.例如,早期版本的IE可能会将证书保存在与我提及的不同的选项卡下.
浏览到Internet Explorer中的SSL URL - https://xyz/infoLookup.php?wsdl
.
单击锁定图标并单击查看证书,查看证书
然后单击"安装证书..."按钮(注意:如果您没有看到此按钮,则必须先关闭IE并以管理员身份运行它)
单击IE的Internet选项,然后单击"内容"选项卡
单击"证书"按钮
在"中级证书颁发机构"选项卡下找到服务器的证书,选择证书并单击"导出..."按钮
使用DER格式导出
将导出的证书文件复制到ColdFusion服务器(如果需要,可以从IE中删除证书)
cmd
在ColdFusion服务器上以管理员身份运行提示
如果您遇到问题,请备份原始cacerts文件
keytool是Java SDK的一部分,可以在以下位置找到:
服务器配置:
cf_root /运行/斌/密钥工具
JRun 4配置上的Multiserver/J2EE:
jrun_root/JRE /斌/密钥工具
Sun JDK安装:
jdk_root /斌/密钥工具
请参阅其他J2EE应用程序服务器和JVM的文档
要安装证书:
将目录更改为您的信任库的位置(cacerts文件所在的位置)
输入此命令(使用当前的jvm并使用当前的jvm的keytool) "c:\program files\java\jre7\bin\keytool" -import -v -alias your_cert_alias_name -file C:\wherever_you_saved_the_file\cert_file.cer -keystore cacerts -storepass changeit
在"信任此证书?"的提示符下键入yes.
注意:*your_cert_alias_name*我上面使用的可以是你想要的任何
注意:*C:\ wherever_you_saved_the_file\cert_file.cer*将这些值更改为用于服务器文件夹和证书文件名的任何值
验证证书:
输入此命令(使用当前的jvm并使用当前的jvm的keytool) "c:\program files\java\jre7\bin\keytool" -list -v -keystore cacerts -alias your_cert_alias_name -storepass changeit
注意:*your_cert_alias_name*在此处使用与上面用于安装证书的名称相同的名称
重新启动ColdFusion服务在执行此操作之前,它不会读取更新的cacerts文件.
如果需要,可以从服务器中删除导入的证书文件.