我有两个域:foo.net和bar.com.它们都具有SSL证书,并且在所有桌面和移动浏览器中都能很好地运行.它们托管在使用nginx配置的同一台服务器上.
但是,当我从本机Android应用程序中向域发出请求时,它会以某种方式从错误的域获取证书!这会导致IO异常:
request = new HttpPost("https://foo.net/api/v1/baz");
request.setHeader("Authorization", "user:pass");
response = httpClient.execute(request);
Run Code Online (Sandbox Code Playgroud)
...
javax.net.ssl.SSLException: hostname in certificate didn't match: <foo.net> != <bar.com> OR <bar.com> OR <www.bar.com>
什么会导致android/java尝试使用证书bar.com时,其他每个措施似乎表明服务器配置正确?nginx访问或错误日志中没有任何内容.bar.com在我的android项目中没有提到任何地方.
编辑:我不知道为什么,但似乎服务器正在使用证书为bar.com服务器IPhttps://198.245.xx.xxx
我正在创建一个Android应用程序,我在其中发送数据到Web服务,但我收到javax.net.ssl.SSLException的错误:证书中的主机名不匹配android这里是我的代码
AsyncHttpClient clien= new AsyncHttpClient();
Log.i("URL", String.valueOf(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode));
clien.put(base_url+"Race.svc/json/Race/Scanners/Add/"+series_event_raceid+"/"+qrCode, new AsyncHttpResponseHandler() {}
Run Code Online (Sandbox Code Playgroud)
其中series_event_raceid = 103和qrcode = R12g***
有人请帮助我
这是我的logcat
08-18 10:06:24.272: W/System.err(5297): javax.net.ssl.SSLException: hostname in certificate didn't match: <development.racerunner.com> != <racerunner.com> OR <racerunner.com>
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:185)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:114)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:95)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-18 10:06:24.272: W/System.err(5297): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-18 10:06:24.272: W/System.err(5297): …Run Code Online (Sandbox Code Playgroud)