V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
MaxFang
V2EX  ›  NGINX

https 网站 PC 和手机访问正常,但是扫描设备无法访问

  •  
  •   MaxFang · 2016-12-16 07:49:06 +08:00 · 3227 次点击
    这是一个创建于 2926 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司一个内部系统(前端 nginx 负责转发),原来是配置的 https, http 的请求会自动 rewrite 到 https 上去。假设网址是 https://gg.hello.com.访问系统的平台有 PC ,手机,扫描设备(windows CE 系统) 一天更换 ssl 证书之后,第二天发现扫描设备浏览器不能正常访问 https://gg.hello.com (报错如下, nginx 无访问记录),但是 PC 和手机端正常访问, ping gg.hello.com,可以到达服务器 ip 。 以为是证书更换有问题,恢复原证书之后,扫描设备仍不可访问。 于是将 http rewrite 到 https 的规则去掉,即 http://gg.hello.com 请求不再转到 443 端口处理,直接 80 端口处理。

    奇怪的事情出现了,扫描设备访问 http://gg.hello.com 正常, nginx 可以看到访问记录,但是访问 https://gg.hello.com 仍不行.在此期间, PC 端浏览器访问均可正常访问 http 和 https.

    已跟设备商联系过,设备支持访问 https,且我测试访问 https://www.v2ex.com 也是可以的.

    如果需要 nginx 的配置,我可以贴个测试用的精简版的过来(也会有同样的问题) -_-

    第 1 条附言  ·  2016-12-16 08:24:35 +08:00
    -_- 原来还可以添加内容。

    为了弄清楚扫描设置在访问 https 时请求的到底是神马,于是选择了 Fiddler 进行抓包,配置代理端口为 8888,(配置如上)在扫描设备中设置 internet 代理之后(由于抓包需要,配置成 PC 的 ip 和 8888 端口,正常使用的时候是没有配置代理的),这个时候扫描设备访问 http://gg.hello.comhttp://gg.hello.com 均正常,抓包显示的数据也正常。

    将扫描设备上配置的 PC 代理去掉之后,访问 https 又不正常了。扫描设备和 PC 处于同一网络。

    等于现在我想通过 Fiddler 抓包看访问情况的时候,扫描设置使用 PC 端口代理,访问正常;
    但是去掉了访问不正常,这个时候由于去掉了 PC 端口代理,Fiddler 无法抓包看具体的请求情况了。
    9 条回复    2016-12-17 11:19:06 +08:00
    lslqtz
        1
    lslqtz  
       2016-12-16 09:38:14 +08:00
    你修改下那里的 dns ,底下都有写:找不到服务器或发生 dns 错误。
    或者上 hosts
    MaxFang
        2
    MaxFang  
    OP
       2016-12-16 09:48:34 +08:00
    @lslqtz
    ping 是可以 ping 的通的,达到服务器 IP 。只不过浏览器使用 https 访问的时候就无法正常解析了。

    这个设备上面也暂时没有找到修改 host 的方法。
    lslqtz
        3
    lslqtz  
       2016-12-16 11:51:56 +08:00
    @MaxFang IE ?
    IE 不支持 TLS 吧。。
    MaxFang
        4
    MaxFang  
    OP
       2016-12-16 12:25:04 +08:00 via iPhone
    @lslqtz
    😂 可以看一下我的补充内容,测试扫描设备使用的是同一浏览器,内置 ie 。
    longxi
        5
    longxi  
       2016-12-16 12:56:32 +08:00
    估计是 SNI 问题,服务器上有多个 https 网站,而扫描设备带的浏览器太旧不支持 SNI ,参考: https://imququ.com/post/sth-about-switch-to-https-2.html#toc-2
    lslqtz
        6
    lslqtz  
       2016-12-16 16:11:37 +08:00 via iPhone
    @longxi TLS 和 SNI 都有可能
    lslqtz
        7
    lslqtz  
       2016-12-16 16:12:35 +08:00 via iPhone
    @MaxFang 失误 那看来 TLS 没可能了
    但是 SNI 用代理也还是不支持的啊...
    很怪
    MaxFang
        8
    MaxFang  
    OP
       2016-12-16 18:26:03 +08:00
    @longxi
    找了了古老的电脑装了 ie6 ,确实是不支持 SNI 。
    但是我测试的时候使用了电脑端口代理的时候,扫描设备的浏览器却可以正常访问了。 好奇怪。
    MaxFang
        9
    MaxFang  
    OP
       2016-12-17 11:19:06 +08:00
    @lslqtz
    是的,好奇怪。
    暂时按照 SNI 的情况测试一下看看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:47 · PVG 06:47 · LAX 14:47 · JFK 17:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.