首页 > 服务器 > 管理维护 > 正文

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

2024-09-10 14:19:15
字体:
来源:转载
供稿:网友
  通常在项目里,如果要用到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端口。
 
  解决问题的话需要需要服务器网络管理人员配合。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表