全站HTTPS升级系列(四)项目代码升级改造

本文以msh.com 域名为例css

1、修改页面内的 HTTP 协议为HTTPS协议

HTTPS 下不容许 HTTP 请求,若是有此状况,则会在浏览器控制台报以下错误前端

(index):42 Mixed Content: The page at 'https://b.test.iupiao.cn/' was loaded over HTTPS, but requested an insecure stylesheet 'http://at.alicdn.com/t/font_203680_of0yc4ur0ie.css'. This request has been blocked; the content must be served over HTTPS.
复制代码

或者java

Mixed Content: The page at 'https://b.test.iupiao.cn/' was loaded over HTTPS, but requested an
复制代码

错误缘由可能以下:nginx

  • 当前的HTTPS所承载的页面,可是在页面内引用了经过HTTP 协议访问的静态资源
  • 当前的HTTPS所承载的页面,发送了请求路径为HTTP 协议的Ajax 异步请求

解决方案spring

将全部的HTTP 协议的URL全局替换为HTTPS协议apache

2、 修改页面内的ws协议为wss协议

Nginx作全站HTTPS升级的时候,是不涉及到WebSocket相关的配置的后端

惟一须要作的,就是升级成功后,在前端代码里面把ws://协议替换为wss://便可浏览器

想深刻了解的话,请参考这篇文章: WebSocket 和socket、HTTP的区别和联系安全

3、后端改造

本项目用Java做为后端语言。在后端,经过SpringRestTemplate来作各个后端服务直接的数据请求bash

全站升级HTTPS后,RestTemplate 请求https路径下的接口时会报错,解决方式参见下方代码

原理:

  • 把RestTemplate 的实例bean的生成方法重写一遍,使之信任全部的安全证书
  • spring在实例化RestTemplate 的时候,会调用此方法,

把下面代码放到任意一个spring管理下的service或者controller便可,以后spring里面的全部的RestTemplate 实例就会经过此方法生成

@Bean
public RestTemplate restTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
    TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;

    SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom()
            .loadTrustMaterial(null, acceptingTrustStrategy)
            .build();

    SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);

    CloseableHttpClient httpClient = HttpClients.custom()
            .setSSLSocketFactory(csf)
            .build();

    HttpComponentsClientHttpRequestFactory requestFactory =
            new HttpComponentsClientHttpRequestFactory();

    requestFactory.setHttpClient(httpClient);
    RestTemplate restTemplate = new RestTemplate(requestFactory);
    return restTemplate;
}
复制代码

系列文章

全站HTTPS升级系列(一)升级前的科普工做

全站HTTPS升级系列(二)基于 acme.sh从Letsencrypt生成免费的泛域名证书

全站HTTPS升级系列(三)nginx配置全站HTTPS

全站HTTPS升级系列(四)项目代码升级改造

相关文章
相关标签/搜索