最近双十一, 购了一台腾讯云的海外服务器, 开通后就是一堆的服务器软件安装数据上传和配置,没想到,等待配置完成后才发现https无法正常访问,于是开启了自查。
1. 检查nginx软件的ssl配置
nginx http https配置参考
XML
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防火墙关闭
bash
#查看当前的防火墙规则
sudo iptables -L
# 关闭防火墙
sudo systemctl disable iptables
sudo chkconfig iptables off
sudo systemctl stop iptables
ufw防火墙
bash
#查看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, 问题终于解决..........