项目升级 https,但是静态资源还是走的 http

2019-11-19 10:41:12 +08:00
 Graves
项目是 struts2+jsp+jquery,不是前后分离的项目,现在部署了 nginx,配置好 ssl 和证书,可以正常访问,首页也出得来,但是 css 和 js 还是走的 http 协议,样式全部不见了
location ^~/项目 / {
proxy_pass http://localhost:8083/fire/;
}
proxy_pass 这样写有问题吗
7020 次点击
所在节点    Java
33 条回复
shylockhg
2019-11-19 17:18:40 +08:00
话说静态资源有加密的必要么。。。
lands
2019-11-19 17:19:44 +08:00
@atom234 正解
Lazymio
2019-11-19 18:26:06 +08:00
duan602728596
2019-11-19 18:48:02 +08:00
所以说前后端分离的项目,编译时直接注入资源地址,就没这么多事了
sobigfish
2019-11-19 19:32:36 +08:00
@shylockhg 说这话是没体验过 被运营商各种插广告吧?
sonicjam
2019-11-19 21:35:19 +08:00
不能写个脚本替换吗?
cydian
2019-11-20 00:11:34 +08:00
@Graves 7 楼就是正解。直接在 header 加上就可以了。http header 或者 html meta 都有这个。 会直接把页面请求的 http 全部转成 https。
cydian
2019-11-20 00:13:02 +08:00
@Graves 7 楼那个方法 不需要你去替换 http 开头的连接。原本写死的链接用那个方法都会自动处理成 https
注意,有该 header 的页面,所有资源都会走 https,无论内站还是外站域名,引用了就自动 https
cydian
2019-11-20 00:14:50 +08:00
popvlovs
2019-11-20 11:50:05 +08:00
nginx 配置 http 301 到 https 也可以吧,这样也不用改前端代码
server {
listen 80 default_server;
location / {
return 301 https://$host$request_uri;
}
}
Graves
2019-11-20 14:12:44 +08:00
@popvlovs 不行的,首页是 https 但是页面引用的 http 资源,浏览器浏览器就报错,请求都发不出去
popvlovs
2019-11-20 17:45:43 +08:00
哦对的,https 里引 http 不符合浏览器安全策略
popvlovs
2019-11-20 17:55:40 +08:00
@Graves #1 楼的 hsts 方案有效么?那个好像也不用改代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX