https 页面不能调用http接口问题记录

首先说一下,  并没有解决这个问题,  最后还是把http 接口变成 https.

之前接了个项目 , 前台用的vue, 后台是tomcat, Java,  前后端分离, tomcat 已经做好https配置.

接到项目后需要新增功能接口, 但我是用python的, java两年没用了, 重新配置环境比较麻烦, 所以还是用python开发新功能, 反正它是前后端分离嘛.

在本地调试是没问题的, vue 的config.js 可以配置跨域,

部署到生产环境时, 原先的页面和接口都是https环境, 而且vue打包发布后跨越配置就不再起作用, 只能重新配置接口的baseURL, 然后通过tomcat server.xml context 配置转发到vue打包文件路径和Java后台接口路径,  

但是我的新功能接口, python接口是是http 的,  https页面访问python接口, 浏览器会阻止, 因为https访问http接口就会禁止,  想在服务器用tomcat 去转发到我的python接口, tomcat又做不到 ,  怎么办?

想了两个方法 :

1. 在申请一个二级域名, 申请ssl证书,  服务器再开个端口, 用nginx 做服务器, 来转发python接口

2. 全部用nginx转发, nginx监听80, 下载ssl证书配置https,  而tomcat 去掉443、https配置, 把监听80改回监听8080端口, context配置不变,  nginx 负责转发到tomcat , 和python接口, tomcat 还可以继续转发到vue页面打包文件和java接口.

 

最后采用了第二种方法 , 解决了架构问题.

 

总结:

1. 碰到接别人做过的项目时, 前后端分离就体现出了优点, 因为可以用自己熟悉的语言去写接口.

2. nginx 七层转发, 还是牛逼啊.

3. nginx 配置http 转https:

server {
    listen 80;
    server_name pms.wenwenmao.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值