前后端分离部署https

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

前后端部署,,一般用的是nginx和java,,,
下载SSL证书:
在这里插入图片描述

java配置https

将证书配置到springboot中

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

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

@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的证书

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

相关推荐

  1. Docker部署ruoyi前后分离项目 补充

    2023-12-07 11:28:03       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 11:28:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 11:28:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 11:28:03       82 阅读
  4. Python语言-面向对象

    2023-12-07 11:28:03       91 阅读

热门阅读

  1. docker安装sybase数据库

    2023-12-07 11:28:03       54 阅读
  2. Mysql大数据量删除

    2023-12-07 11:28:03       52 阅读
  3. 【前端】windows下nvm安装node、npm的一些坑

    2023-12-07 11:28:03       68 阅读
  4. Ubuntu18.04的VSCode输入不了中文

    2023-12-07 11:28:03       67 阅读
  5. Spring MVC详解

    2023-12-07 11:28:03       39 阅读
  6. MFC中updatedata(False)和Updatedata(TRUE)区别

    2023-12-07 11:28:03       48 阅读
  7. Redis小知识

    2023-12-07 11:28:03       59 阅读
  8. 【力扣100】 3.最长连续序列

    2023-12-07 11:28:03       69 阅读
  9. leetcode每日一题4

    2023-12-07 11:28:03       58 阅读
  10. 向量数据库,展望AGI时代

    2023-12-07 11:28:03       53 阅读