Spring启动以处理http和HTTPS请求

时间:2018-03-20 10:12:56

标签: android spring ssl spring-boot https

我想在连接到Spring启动服务器的连接上添加SSL。到目前为止,我有一个Arduino,一个应用程序和一个mongodb数据库连接到服务器并向它发出请求。所有的通信都是HTTP。我计划在HTTPS下制作所有内容,但我想知道服务器是否可以同时处理http和HTTPS连接,因为我计划首先在应用程序和服务器之间实现SSL,并将其余部分保留在http下。

我正在使用Spring启动。

我将研究将SSL添加到arduino的可行性,但我想知道服务器是否可以处理Https和http请求,例如arduino使用http和Android发送请求使用https发送请求。因为我计划完全添加SSL但是暂时,我会尝试从Android应用程序获取SSL以切断我将认为的那样' ll更容易。

2 个答案:

答案 0 :(得分:0)

我个人觉得最好使用反向代理。我最喜欢的是documentation。除了保证连接,它还可以处理负载平衡,故障转移,HTTP - > HTTPS重定向等等。

要生成SSL证书,您可以使用NGINX

答案 1 :(得分:0)

使用以下代码来处理https和http

if (requestUrl.getProtocol().equalsIgnoreCase("https")) {
        setHostVerifier();
        SSLContext sc = SSLContext.getInstance("TLSv1.2");
        sc.init(null,
                new TrustManager[] { new TrustAllX509TrustManager() },
                new java.security.SecureRandom());
        HttpsURLConnection
        .setDefaultSSLSocketFactory(sc.getSocketFactory());
        urlconnection = (HttpsURLConnection) requestUrl.openConnection();
    } else {
        urlconnection = (HttpURLConnection) requestUrl.openConnection();`enter code here`
    }