当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    为什么服务器ssl配置好以后无法通过https访问?

    栏目:win服务器问题汇总 时间:2018-09-11 16:21

      通常在项目里,如果要用到ssl的话,一般都是自己先做个免费的证书在开发的过程中用的。等到上线了才去花钱买ssl证书。
     
      这一回,自制了证书,在apache里也配置好后,始终无法通过https访问。调查步骤如下
     
      1、确认apache配置。
     
      httpd.conf里,查看mod_ssl.so和httpd-ssl.conf配置。如果没有mod_ssl.so的话,通过apachectrl-l查看apache是否有内置变异了ssl模块。
     
      httpd-ssl.conf里,查看Listen443、server.crt、server.key的配置。
     
      2、apache重启的时候,在error-log里查看有没有错误日志。
     
      到这一步,可以确定配置应该没什么问题。
     
      3、在服务器里,通过命令netstat-ano确定443端口被监听。
     
      4、本地通过命令telnetwww.xxxx.com80和telnetwww.xxxx.com443,发觉80端口能访问,443端口访问不了。
     
      5、在服务器里通过命令wgethttp://www.xxx.com/和wgethttps://www.xxxx.com/,同样发觉80端口能连接的上,443端口连接不上。
     
      Resolvingstaging.shop.connectingcard.com...xxx.xxx.xxx.xx
     
      Connectingtowww.xxxx.com|xxx.xxx.xxx.xx|:80...connected.
     
      ...
     
      Resolvingwww.xxxx.com...xxx.xxx.xxx.xx
     
      Connectingtowww.xxxx.com|xxx.xxx.xxx.xx|:443...
     
      到这一步,可以确定应该是443端口访问不了的原因。
     
      6、查看服务器的iptables,确定443没有禁止访问。
     
      7、在服务器,使用wget命令,通过本地IP访问
     
      wgethttps://xxx.xxx.xxx.xx/,得到如下结果
     
      --2012-02-2911:21:05--https://xxx.xxx.xxx.xx/
     
      Connectingtoxxx.xxx.xxx.xx:443...connected.
     
      ERROR:cannotverifyxxx.xxx.xxx.xx'scertificate,issuedby`/C=JP/ST=oosaka/L=oosaka/O=oosaka/OU=oosaka/CN=www.xxxx.com':
     
      Self-signedcertificateencountered.
     
      ERROR:certificatecommonname`www.xxxx.com'doesn'tmatchrequestedhostname`xxx.xxx.xxx.xx'.
     
      Toconnecttoxxx.xxx.xxx.xxinsecurely,use`--no-check-certificate'.
     
      UnabletoestablishSSLconnection.
     
      在使用命令wget--no-check-certificatehttps://xxx.xxx.xxx.xx/访问,得到页面内容。
     
      到这一步可以确定,服务器本身的443端口是开放的,只是从外部无法通过443端口访问服务器。
     
      那么,问题可能是,服务器的网络环境中,防火墙的配置里没有对外开放服务器这台机子的443端口。
     
      解决问题的话需要需要服务器网络管理人员配合。