前后端分离部署https

引用:https://blog.csdn.net/weixin_35676679/article/details/127841598

前后端部署,,一般用的是nginx和java,,,

下载SSL证书:

java配置https

将证书配置到springboot中

yml 复制代码
server:
  port: 5443  # https的端口
  http:
    port: 5050  # http的端口
 
  ssl:
    key-store: classpath:XXXX.pfx    #类路径下的CA证书
    key-store-password: 证书密码     #证书密码

配置Tomcat,,将http端口转发到https上:

java 复制代码
@Configuration
public class TomcatConfig {
    @Value("${server.http.port}")
    private int httpPort;
    @Value("${server.port}")
    private int httpsPort;




    @Bean
    public TomcatServletWebServerFactory tomcatServletWebServerFactory(Connector connector) {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(connector);
        return tomcat;
    }


    @Bean
    public Connector connector(){
        Connector connector=new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //http端口
        connector.setPort(httpPort);
        connector.setSecure(true);
        // https端口,即server.port
        connector.setRedirectPort(httpsPort); //重定向到htts
        return connector;
    }
}
配置nginx的证书
shell 复制代码
server{

listen 443 ssl;
server_name 域名;
ssl_certificate 证书.pem;
ssl_certificate_key  证书.key;


ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;



location /{
		# 前端位置
		root /home/wechat/dist;
          index  index.html index.htm;
            # 配置 history模式,刷新页面会404,,因为服务器没有正确的处理路由请求
                        try_files $uri $uri/ /index.html;


}


location /api/ {
  proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass https://127.0.0.1:8082/;



}


}

443 访问前端,,,转到后端,,,

遇到的问题:

  • 前端上传图片端口,,和后端不是一个端口,,====》上传文件端口,request.getServerPort() 获取端口为什么是443 ,,不是后端的8082
相关推荐
zjjsctcdl9 分钟前
springBoot发布https服务及调用
spring boot·后端·https
进击的雷神1 小时前
突破POST分页与IP封锁:基于表单提交和代理转发的新闻爬虫设计
爬虫·网络协议·tcp/ip
孤影过客1 小时前
互联网谍战:HTTPS如何守护数据,以及头顶的量子阴云
网络协议·http·https
牛奶1 小时前
为什么全国人民都能秒开同一个视频?
前端·http·cdn
ETA83 小时前
面试官问SSE和WebSocket的区别?看这篇就够了(含心跳机制详解)
websocket·网络协议
汤愈韬3 小时前
BGP知识点解析
网络协议·网络安全·security
F1FJJ5 小时前
Shield CLI 的 PostgreSQL 插件 v0.4.0 已发布:支持 ER 图设计表关系,还能多人协作
网络·网络协议·postgresql·数据分析·开源软件
萝卜白菜。6 小时前
Http GET / 请求返回值不同的问题
网络·网络协议·http
liulilittle6 小时前
eBPF tc prog
服务器·网络·c++·网络协议·tcp/ip·性能·perf
Yana.nice7 小时前
tcp与udp的区别
网络协议·tcp/ip·udp