全球主机交流论坛

标题: 【教程】 教你实现宝塔ssl局部https跳转。。 [打印本页]

作者: ukmg    时间: 2019-4-30 13:28
标题: 【教程】 教你实现宝塔ssl局部https跳转。。
本帖最后由 ukmg 于 2019-4-30 19:40 编辑

起因:

看到有坛友发帖询问,如何让主域名自动跳转https,但是某个目录例如/123 不强制跳转 https


思路:

第一印象的直接添加额外一条规则,失败了。。    原因。nginx的配置中不支持if条件的逻辑与/逻辑或运算 ,并且不支持if的嵌套语法


替代方案:


  1. set $flag 0;
  2. if ($server_port !~ 443) {
  3.         set $flag "${flag}1";
  4. }

  5. if ($request_uri !~ "/123"){
  6.         set $flag "${flag}2";
  7. }

  8. if ($flag = "012"){
  9.          rewrite ^(.*)$  https://$host$1 permanent;
  10. }
复制代码


解释:满足非443 端口 并且 域名目录 非/123 时跳转

替换掉宝塔原来的:

  1.     if ($server_port !~ 443){
  2.         rewrite ^(/.*)$ https://$host$1 permanent;
  3.     }
复制代码


测试:


有需要pm


吐槽:

另外这位大佬的毁天灭地提问法真的秀的我头皮发麻。。。

几个人提供了思路。。        +++   我要具体代码

找到了方法,楼主研究下。。  +++   你再研究下

写好了,教你怎么用。。         ++++ 这个估计不行&& 你自己测试过吗&&不相信没人能解决

你还要我怎样~~~



作者: ramiko    时间: 2019-4-30 13:31
沙发支持一下大佬
作者: lk2000    时间: 2019-4-30 13:36
沙发,支持一下,虽然我用不到这个功能
作者: 风为裳    时间: 2019-4-30 13:37
留言标记一下,说不定以后会用到
作者: weixiangnan    时间: 2019-4-30 13:38
头皮发麻
作者: qytang    时间: 2019-4-30 13:38
前排马克,紫薯布丁
作者: hlsk    时间: 2019-4-30 13:51
支持技术分享
作者: Gobala    时间: 2019-4-30 13:52
感谢大佬分享技术贴
作者: yjlml    时间: 2019-4-30 13:53
虽然用不到  但是也支持一下
我一般都是一个站 一个根目录的
就算二级域名我也是这样  

就是想免去这些问题
作者: ukmg    时间: 2019-4-30 13:56
yjlml 发表于 2019-4-30 13:53
虽然用不到  但是也支持一下
我一般都是一个站 一个根目录的
就算二级域名我也是这样  

一般也是这个思路,就是管理起来麻烦,几十域名。
作者: tomcb    时间: 2019-4-30 14:02
吐槽:

另外这位大佬的毁天灭地提问法真的秀的我头皮发麻。。。

几个人提供了思路。。        +++   我要具体代码

找到了方法,楼主研究下。。  +++   你再研究下

写好了,教你怎么用。。         ++++ 这个估计不行&& 你自己测试过吗&&不相信没人能解决

哈哈真亏你能和这些大爷交流这么久

https://4414.19990909.workers.dev/thread-540969-1-1.html
作者: 圼逍遥    时间: 2019-4-30 14:07
哈哈 优秀的提问法
作者: ukmg    时间: 2019-4-30 14:43
tomcb 发表于 2019-4-30 14:02
哈哈真亏你能和这些大爷交流这么久

https://4414.19990909.workers.dev/thread-540969-1-1.html

我觉得提问还是多几条规范好,不然论坛内那些经常分享的大佬也不怎么乐意答了。。
作者: 恢复自我    时间: 2019-4-30 16:45
我把我自己在用的复制出来给他了 也不多测试一下 就说不行了
作者: bax    时间: 2019-4-30 16:50
楼主好脾气,一般我遇到这样自我为中心的都是敬而远之的……
作者: ieevip    时间: 2019-4-30 16:50
感谢你 这个方法确实好用  中午午睡了 才看到  谢谢你这么有耐心 好人!!!!
作者: ukmg    时间: 2019-4-30 16:56
ieevip 发表于 2019-4-30 16:50
感谢你 这个方法确实好用  中午午睡了 才看到  谢谢你这么有耐心 好人!!!! ...

补充一下

  1. if ($request_uri !~ "/123"){
复制代码


另外这一行 指的是  网址中带有/123 就不会跳转,要是你其他域名目录也带 /123  例如/1234 也不会跳转。。。

解决办法,

把网址补齐填上去。。
作者: bigfaint    时间: 2019-4-30 17:00
大佬好厉害。留个爪印,不知道什么时候就用上了。
作者: ieevip    时间: 2019-4-30 17:08
ukmg 发表于 2019-4-30 16:56
补充一下

恩 我屏蔽的是某个目录 123改成我的目录名字就行了




欢迎光临 全球主机交流论坛 (https://4414.19990909.workers.dev/) Powered by Discuz! X3.4