Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mac 默认打开Safari #5916

Open
batteryhp opened this issue Jul 1, 2017 · 16 comments
Open

mac 默认打开Safari #5916

batteryhp opened this issue Jul 1, 2017 · 16 comments

Comments

@batteryhp
Copy link

请问mac下点击start之后,自动启动Safari而不是chrome,本机已经设置默认浏览器问chrome,如何解决一下?

@Gongqiao24
Copy link

我也不知道怎么解决。。反正升了最新mac os就会这样。。。你可以去XX-Net配置那里把《启动时弹出状态页》关了

@jzp820927
Copy link

应该和 MAC 系统有关吧,估计应该是 mac 系统强制锁定浏览器为自家的 safari,可以 google 搜索一下,找找看有没有解决办法,不过可以肯定的是,这个问题和 XXNET 没有关系。

@lzlmcx001
Copy link

打开 safari没关系吧,我设置 XXNET自启动,全局智能也一样用的

@LockGit
Copy link

LockGit commented Jul 8, 2017

@batteryhp 把Safari移到废纸篓,在点击start,就会以chrome启动,在从废纸篓把Safari还原即可,下次就是以chrome启动了。现在chrom升级到了最新以后,HSTS是个讨厌的问题,新版Chrome访问很多网站都是HSTS原因而访问不了,跟Chrome的升级影响很大

@jzp820927
Copy link

HSTS 是强制 https 加密,你是不是没安装证书?

@LockGit
Copy link

LockGit commented Jul 10, 2017

@jzp820927 肯定安装了证书并信任,HSTS这个保护机制给一些http代理软件造成坑

@jzp820927
Copy link

jzp820927 commented Jul 10, 2017

据我了解,hsts 是强制网站走 https 协议的意思,好像和代理没啥关系。不知道你说的 “给一些http代理软件造成坑” 是什么意思?不过也有可能是我理解错误吧。

@LockGit
Copy link

LockGit commented Jul 10, 2017

@jzp820927,简单说是强制客户端使用 HTTPS 访问页面。
其原理大概就是:
1,在服务器响应头中添加 Strict-Transport-Security,可以设置 max-age,用户访问时,服务器种下这个头
2,下次如果使用 http 访问,只要 max-age 未过期,客户端会进行内部跳转,可以看到 307 Redirect Internel 的响应码,变成 https 访问源服务器
3,这个过程有效避免了中间人的劫持。
4,但是这里存在一个问题:如果用户在劫持状态,并且没有访问过源服务器,那么源服务器是没有办法给客户端种下 Strict-Transport-Security 响应头的(都被中间人挡下来了)。

我的猜测,本机已经存在种下的 Strict-Transport-Security 响应头,虽然xx-net是通过伪造证书并且使用(https降级攻击)sslstrip实现代理访问https网站,
但是对于HSTS网站而言,尤其是已经或者曾经种下过Strict-Transport-Security 响应头的客户端来说,首先就是浏览器内部307到https,请求永远是https类型,
没有https降级到http的机会。

@LockGit
Copy link

LockGit commented Jul 10, 2017

所以很多人用sockts代理,相对http代理,两者有本质区别

@jzp820927
Copy link

jzp820927 commented Jul 10, 2017

额,你研究还是挺深入的,我没做过深入研究,也没遇到过类似问题。
另外你上面说 “现在chrom升级到了最新以后,HSTS是个讨厌的问题,新版Chrome访问很多网站都是HSTS原因而访问不了,跟Chrome的升级影响很大” 能不能给个具体的你遇到问题的访问不了的网址贴出来?我也来研究一下?

@LockGit
Copy link

LockGit commented Jul 10, 2017

新版的chrome,https://www.youtube.com/,https://twitter.com/都访问不了了,您的连接不是私密连接

,之前我记得是可以的,chrome的证书也配置了信任,但是比较奇怪哦,http://127.0.0.1:8085/中看到的:
浏览器代理设置 Fail
CA证书状态(下载) Fail
但是可以访问:https://www.google.com/
不能访问:https://www.google.com.hk/?gws_rd=ssl (错误同上)
有一些墙外https网站又可以访问,而Firefox浏览器一切正常,代理,状态都显示正常。
我想可能是新版本chrome的原因吧

@jzp820927
Copy link

根据你的描述,应该是证书问题,和 hsts 应该没啥关系。你的状态页已经有提示了:
浏览器代理设置 Fail
CA证书状态(下载) Fail

可以访问:https://www.google.com/ 是因为这个地址走的直连,不需要伪造证书,不会提示证书错误。
其他没有走直连的,就会提示证书错误。
建议你根据 #5322 处理试试看看,因为我这边最新版的 金丝雀版的 chrome,都没有问题。

@LockGit
Copy link

LockGit commented Jul 11, 2017

问题已经解决,我是mac,到 XX-Net/data/gae_proxy/certs 目录删除不能访问的网站证书文件,
1,cd XX-Net/data/gae_proxy
2,mv certs certs.bak
3,mkdir certs
ok

@jzp820927
Copy link

jzp820927 commented Jul 11, 2017

我就说嘛,其实很简单的问题,被你想的太复杂了。

@LockGit
Copy link

LockGit commented Jul 11, 2017

应该是xx-net的bug,伪造的证书已经失效了,却没有及时更新或者删除,让其重新生成到certs目录。
不过,了解事务的本质才会更容易发现和解决问题

@jzp820927
Copy link

XXNET 的项目主很早就已经没有开发了。所以也已经很久没有大更新了,所以有 BUG 也正常。
现在的可用性也在慢慢降低了,如果没有人接手继续开发,估计会慢慢终结了。
会玩的当然可以自己解决,不会玩的,就没辙了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants