最近双十一,  购了一台腾讯云的海外服务器, 开通后就是一堆的服务器软件安装数据上传和配置,没想到,等待配置完成后才发现https无法正常访问,于是开启了自查。

1. 检查nginx软件的ssl配置

nginx http  https配置参考

server {
  listen 80;
  listen 443 ssl;
  # 服务域名配置_表示默认主机
  server_name _;
  # SSL证书路径配置
  ssl_certificate     /etc/nginx/certs/fullchain.pem;
  ssl_certificate_key /etc/nginx/certs/privkey.pem;
  # dhparam密钥协商协议,它可以保证通信双方安全地交换密钥
  # 生成命令: time openssl dhparam -out dhparam.pem 2048
  ssl_dhparam /etc/nginx/certs/dhparam.pem;
  ssl_session_timeout 1d;
  ssl_session_cache shared:SSL:50m;
  ssl_session_tickets off;
  # intermediate configuration. tweak to your needs.
  ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
  ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
  ssl_prefer_server_ciphers on;

  # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
  add_header Strict-Transport-Security max-age=15768000;
  proxy_set_header X-Forwarded-Proto https; 

  # OCSP Stapling ---
  # fetch OCSP records from URL in ssl_certificate and cache them
  ssl_stapling on;
  ssl_stapling_verify on;

  ## verify chain of trust of OCSP response using Root CA and Intermediate certs
  # ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

  #resolver <IP DNS resolver>;
  resolver 1.1.1.1 1.0.0.1 valid=300s;
  resolver_timeout 10s;
  
  #error page
  error_page 497 https://$host$request_uri; 
  
  # 应用路径配置
  root /opt/myapp/public;
  # 错误日志路径配置
  error_log /opt/myapp/log/error.log;
  # 默认首页文件配置
  index index.php index.html index.htm;
  # acme config
  location ~ /.well-known/acme-challenge {
        allow all;
        root /usr/share/nginx/html;
    }
  

}

2.各种验证证书和https的工具

重启nginx服务器

sudo nginx -s reload 

如果出现问题 nginx: [error] invalid PID number "" in "/run/nginx.pid"

解决方法:重新加载配置文件 nginx.conf,然后再执行 reload
sudo nginx -c /etc/nginx/nginx.conf
sudo nginx -s reload

检测SSL证书是否正常命令

openssl s_client -connect 43.153.202.138:443

检查并关闭服务器上面的各种防火墙

目前linux下面的默认主流防火墙就2种防火墙 iptables和ufw 

腾讯云面板里面的防火墙貌似就是管理的服务器中的iptables防火墙。

iptables防火墙关闭

#查看当前的防火墙规则
sudo iptables -L

# 关闭防火墙
sudo systemctl disable iptables

sudo chkconfig iptables off

sudo systemctl stop iptables

ufw防火墙

#查看UFW的运行状态:
sudo ufw status

# 重置防火墙规则
sudo ufw reset

#关闭 UFW 防火墙:
sudo ufw disable

使用curl来访问查看是否能正常访问,分别以忽略证书验证和正常访问并打印debug日志

忽略证书验证:curl -v -k https://43.153.202.138/

注意这里的 -v 是打印debug日志,  -k 忽略证书验证

正常访问: curl -v https://43.153.202.138/

上面这些都是在服务器上面进行,测试结果都正常。 但是换到本机浏览器访问时就只有http能访问, https 链接全部被拒绝

第三方外部工具检测

网站是否正常检测工具https://downforeveryoneorjustme.com这里可以检测是只有你自己不能访问还是所有人都不能访问.

SSL服务端证书检测工具 

SSL服务端证书检测工具https://www.ssllabs.com/ssltest/index.html这个工具可以完整的测试你的服务器SSL证书的信息

输入要测试的主机名,然后submit即可查看服务器SSL证书的详细信息,如下

经过一系列的配置和操作后,本地访问http问题依然存在,于是就只能 工单了

3.腾讯云工单

第一次工单 11月29日18点23分

于是接下来就是, 修改域名DNS解析服务商为腾讯云,直接重装系统,各种系统重装一次,问题依旧存在,最后直接干脆量操作系统也换成腾讯出品的OpenCloudOS, 然后里面就只安装一个nginx,其他任何软件都不安装........

yum install nginx

默认配置路径 /etc/nginx

检查这个nginx的模块是否有ssl模块命令:  nginx  -V  这个命令执行后会出来一堆,SSL默认是安装了的。

再次来一遍上面的各种测试工具和软件都用上。

于是忍无可忍,再次发起工单

第二次工单2024年11月30日23:47分

。。。。。。。。 

 

授权登录服务器,然后等了一晚上。。。。。。

第二天发现问题依旧,于是再次工单 

第三次工单2024年12月1日 9点

这次把测试结果一系列的测试结果都发过去后,这会不说是我业务问题了,所示要转接其他人来接着搞。

给结论了

 要换IP, 然后让自己换, 每个服务器只能换一次, 而且IP是随机的!!

于是腾讯云就开启车轱辘式的换IP甩锅, 不给增加次数限制就是让你自己用那一次随机的机会换IP,用了这一次机会后面IP不能用的话这个服务器就彻底报废了。

。。。。。。。。。。 

客服态度恶劣,于是忍无可忍开启投诉加电话模式..............

忍无可忍,开启投诉模式 工单被再次转移到网络部

 

这次终于是有结果了

然后换IP, 问题终于解决..........

总结: http能用https不能用,这个问题也可能不仅仅是你的配置问题。目前这些所谓大厂里面的工程师也不是每个都技术过硬的,本次就一个简单问题技术人员就换了一次又一次!最后问题还得自己来排查和发现! 最终排查出是服务商自己的产品问题后居然还和客户踢皮球, 实在无语...........

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐