
1 NerverLibis 2019-11-19 10:49:58 +08:00 全站强制 https add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" always; |
2 Graves OP 难道只能全局把项目所有 http 替换成 https 吗(手动狗头) |
3 sleepm 2019-11-19 10:50:26 +08:00 前台 href="/static/css/tomorrow.css" 明白不 用相对路径 |
5 Graves OP <link href="themes/fire/css/common.css" rel="stylesheet" type="text/css" /> 这样引用有问题吗 |
6 chuhemiao 2019-11-19 11:09:09 +08:00 直接目录也应该可以,如果你没有库里路径写死 要不就 ng 代理匹配下 http 路径 |
7 atom234 2019-11-19 11:10:49 +08:00 <meta http-equiv="Content-Security-Policy" cOntent="upgrade-insecure-requests"> |
8 eason1874 2019-11-19 11:23:18 +08:00 @Graves #4 不难不难,程序没有模板就用 Nginx 的 sub_filter 一把梭,把绝对路径 HTTP 协议头全部替换成 HTTPS |
9 dixeran 2019-11-19 11:25:13 +08:00 via Android 服务器 rewrite |
10 iasuna 2019-11-19 11:42:47 +08:00 如果你要用 cloudflare rules 功能支持强制 https 如果你没用可能要手动配置了 |
11 alexsunxl 2019-11-19 11:44:18 +08:00 @dixeran 这种 rewrite 是不行的。 浏览器现在的策略默认你的 http 资源是没 rewrite 到 https, 直接给你报错 具体点就是说, 浏览器判断你源页面是 https 的, 但引用 http 资源,就直接报安全错误了,都没到发资源请求那一步 |
14 caola 2019-11-19 12:09:06 +08:00 这么久才想着升级 https 么? 我自己的网站早在 2014 就全站启用 https 了,当时还是用 @xoxo 的 5 年黑证书 |
15 jinliming2 2019-11-19 12:14:47 +08:00 via iPhone 必须全部改成 https:// 的,或者去掉 http: 改成 // 开头,如果是站内的地址就用相对地址。 比如 https://example.com/xxx/yyy //example.com/xxx/yyy /xxx/yyy |
16 scukmh 2019-11-19 13:07:12 +08:00 学一下全局替换,要多少事? |
17 muskill 2019-11-19 13:48:13 +08:00 15 楼说的对.建议大家以后看见页面调站内地址写绝对地址的,拉出去揍一顿就好了,让他长长记性 |
18 yazhouli01 2019-11-19 16:30:18 +08:00 资源路径都写的绝对路径吗?编辑器都有整个项目搜索替换的功能,你可以尝试下 |
19 pmispig 2019-11-19 16:45:59 +08:00 谁写的绝对路径让谁改,很简单嘛 |
20 love4taylor PRO subs_filter 替换字符串啊 |
21 shylockhg 2019-11-19 17:18:40 +08:00 话说静态资源有加密的必要么。。。 |
23 Lazymio 2019-11-19 18:26:06 +08:00 |
24 duan602728596 2019-11-19 18:48:02 +08:00 via iPhone 所以说前后端分离的项目,编译时直接注入资源地址,就没这么多事了 |
26 sonicjam 2019-11-19 21:35:19 +08:00 不能写个脚本替换吗? |
27 cydian 2019-11-20 00:11:34 +08:00 via Android @Graves 7 楼就是正解。直接在 header 加上就可以了。http header 或者 html meta 都有这个。 会直接把页面请求的 http 全部转成 https。 |
28 cydian 2019-11-20 00:13:02 +08:00 via Android @Graves 7 楼那个方法 不需要你去替换 http 开头的连接。原本写死的链接用那个方法都会自动处理成 https 注意,有该 header 的页面,所有资源都会走 https,无论内站还是外站域名,引用了就自动 https |
29 cydian 2019-11-20 00:14:50 +08:00 via Android |
30 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; } } |
31 Graves OP @popvlovs 不行的,首页是 https 但是页面引用的 http 资源,浏览器浏览器就报错,请求都发不出去 |
32 popvlovs 2019-11-20 17:45:43 +08:00 哦对的,https 里引 http 不符合浏览器安全策略 |