提示:本教程只针对Nginx有效,阿帕奇的比较复杂,目前没有教程!目前很多人用宝塔面板搭建https网站,但是如果你使用宝塔面板搭建的网站不止一个,且同时有http和https协议时,会发现http网站会在https下串站的BUG:
宝塔创建aaa.com站点使用了https,其它站点(例如bbb.com)使用的是http,而未配置或开启https协议,但是你使用https://bbb.com访问网站的时候,神奇的事情就发生了,网站内容显示的是https://aaa.com的内容。明明bbb.com没有开启https却可以访问,而且内容还是aaa.com网站的内容。惊不惊喜意不意外?
刚好两位大神乱世玉米和杨秉宸也在群里说到这个问题,不但让很多站长头疼,而且对SEO也是很不友好。下面我们一起来看看引起这个问题的原因和解决方法: ?
宝塔ssl配置说明
从上图宝塔面板在ssl配置里这样说到:在未指定SSL默认站点时,未开启SSL的站点使用HTTPS会直接访问到已开启SSL的站点。
所以这就是导致串站和跳站的原因。不知道宝塔开发人员怎么想的,这么明显的问题也不给个解决方法,那只好我们自己动手咯。
这里面有两种解决办法
【方案一】
1、添加新建一个站点,绑定域名那里填你服务器的ip,其他按下图设置。
宝塔添加新站点
2、修改这个站点的配置文件如下:
server
{ #设置80端口不能通过ip访问。
listen 80 default_server;
server_name 123.123.123.123;
root /www/wwwroot/123.123.123.123;
return 444;
}
server { #设置443端口如果站点没有启用ssl直接返回444状态码。
listen 443 default_server;
server_name _ ;
ssl on;
#注意修改以下部分内容,把路径换成你服务器上已存在的证书。
ssl_certificate /www/server/panel/vhost/cert/xxx/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/xxx/privkey.pem;
#证书部分结束
return 444;
}
其中server_name 123.123.123.123中的123要修改成你网站ip,另外ssl_certificate /www/server/panel/vhost/cert/xxx/fullchain.pem和ssl_certificate_key /www/server/panel/vhost/cert/xxx/privkey.pem这两个文件要换成你网站已经存在的https的证书就可以了。
【方案二】
第一步:创建一个站点 创建一个站点域名就使用你域名乱命名二级域名(避免以后使用),比如你域名时abc.com,你们你新建站点就绑定aaaakkd2dd.abc.com,这里aaaakkd2dd就是乱取的,需要注意新建站点不需要解析。
新建站点绑定一个无用域名
第二步:删除新建站点的默认文件 默认创建站点对应站点根目录中会有index.html,将其删除。 目的是让站点不能访问
删除创建站点index.html文件
第三步:开启SSL 需要准备SSL证书文件.pem和.key文件,这里为大家准备一个过期的但可以使用的证书内容。
1、证书key和pem文件(Nginx环境用的)
.key文件代码:
-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAlcZJiGVMbbzrWzkmhBJxjoMbFSSCtLzcY0poxwTxyxzd2pw1 45OIV9WllYNTotQyOheiJEN9hGgU/qjIRpKg/1KrSnxsykYwevMjsyM/Rs3W7MRr EGjCqr9VfWCnC/mOhwrSeEtL76DaMTpYIYIVemK+W+BajKD5nNekjs6567phMFbm Bsqil3hXWE31GyIaYwQqbMWI1gCSX/Tvh3dmt2dVE2/7q4soZPVSlNqEq92UENqR 6k3aQS+PoKOBj9b4Y1wtveL0bNOHqi4e7iXtucPnlWLlrpylm1ybm9Q0AUm4X0N0 k1XFB8hyOWHH0SgczbKbbHfaJEWi7kDVsUCL1wIDAQABAoIBAQCKUzJwbRX0N8mq W5Lt4VbNRtqJYUnyAIcOkJdKT4+8hfGDyEeg4g3HCUM/XaWtuYqVymPuWAKhebsC IwGs5BkbFc+rIFUdT0vREaND++ahztOToig7ZHV9Wu5quAwvbBEtOVp+zRPZwVYi pv7kG48Yk/+5PPCD9tvx9ds+JUDiqrD9jEEz8WfxziFeCeO/HsjDJwKN363qGNCh lvvslAZXyRmdyWGywCG5DWpyjGj54OxCMp7R0nsrCrnRQz333i+NhjWCODvusw1l tPO47Fn80D9UQUNo4ep51HaBJ66iuB9Sgui18Gi7o3DiJ9myqzZq4GMkTeApQra5 IOM+vug5AoGBAPfDLxwVc/YjltVCSiw06gEKwjYuzI/FjVDmpn9OObP4F2HWSXom W/4A5LIjzJZSLeYU0Strr/gZ94OiC2EqqpTZrzIPzpQYeIIjBc2Vdhq3EURaKDS4 3i03Y/F139/tnn2T8nA9CY4vaJ4JWkVXSFP6SOvreGtlH4YAvh/IgmDbAoGBAJrB Fb4XPa172EHpKwoxzXcEIiy6T5glVAjcLEl91NCjW4h5QHoz31tYxYRPrg3b6McM UiTN2NWfhytFlzZFEhnAOHfel98QJFeMOz9MszZlIV/OdvevcIo2+3NSmJ7lMint rimkX8TIi/dE2SALZ12SxzZ6QX/7O+L5wKEPJoO1AoGAX+VmGIKdLYm82bIcr1uT ru+RGBOpDYSzG7sKen+2idfehPnB2st6E6gY3HJKv2vzY/hutVWq+GZkjMhtiyBO gep3ivLfTCbkjcosdtQAsHpm7oPOyAk9xVaJEm5DRpLcI1LeJV8akbP71B9elzQf RJG9I8MyCq9LMjybWgXroL0CgYA7bDr6FBiF3hErNepl7ruzoK2yuRPJG0RKZqjG y3+FYcTLAawlgHeartqhNKtj/PZEQFHmefhyBuCzV/R5TUpnAu1r8dglOiCKUXmK k9wY3fpTvIboEsDHAdfJ74RVNzLs8Kw4pzpy6IL+PryU1mwpfSvrmkQ+bW0QedBi x9uFJQKBgQDkSWP5fuTDV/W7sOwZAplXWydu+9wM43fb76ycdK3NMkODLFpG5qr/ 2kIUcyeS/SlJPwwHF2XpzsNbqUK2urDy0y1sgriOSdh/mPgvWU0L/rcU25mi6ao1 aXa4mmLTeP7b+fSpU+FA4jlo/+X2Nw3nMa77S0M4ucDOPF+craFiMA== -----END RSA PRIVATE KEY----- .pem文件代码:
-----BEGIN CERTIFICATE----- MIIFfzCCBGegAwIBAgIQCWJ4ZNU3PH/Dxidtj6DcfzANBgkqhkiG9w0BAQsFADBu MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMS0wKwYDVQQDEyRFbmNyeXB0aW9uIEV2ZXJ5d2hlcmUg RFYgVExTIENBIC0gRzEwHhcNMTgwODI5MDAwMDAwWhcNMTkwODI5MTIwMDAwWjAV MRMwEQYDVQQDEwppLjE4MDI4LmNuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAlcZJiGVMbbzrWzkmhBJxjoMbFSSCtLzcY0poxwTxyxzd2pw145OIV9Wl lYNTotQyOheiJEN9hGgU/qjIRpKg/1KrSnxsykYwevMjsyM/Rs3W7MRrEGjCqr9V fWCnC/mOhwrSeEtL76DaMTpYIYIVemK+W+BajKD5nNekjs6567phMFbmBsqil3hX WE31GyIaYwQqbMWI1gCSX/Tvh3dmt2dVE2/7q4soZPVSlNqEq92UENqR6k3aQS+P oKOBj9b4Y1wtveL0bNOHqi4e7iXtucPnlWLlrpylm1ybm9Q0AUm4X0N0k1XFB8hy OWHH0SgczbKbbHfaJEWi7kDVsUCL1wIDAQABo4ICcDCCAmwwHwYDVR0jBBgwFoAU VXRPsnJP9WC6UNHX5lFcmgGHGtcwHQYDVR0OBBYEFI8zIU+zoVoBaUyOUL2ixwKA I6+3MBUGA1UdEQQOMAyCCmkuMTgwMjguY24wDgYDVR0PAQH/BAQDAgWgMB0GA1Ud JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBMBgNVHSAERTBDMDcGCWCGSAGG/WwB AjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgG BmeBDAECATCBgQYIKwYBBQUHAQEEdTBzMCUGCCsGAQUFBzABhhlodHRwOi8vb2Nz cDIuZGlnaWNlcnQuY29tMEoGCCsGAQUFBzAChj5odHRwOi8vY2FjZXJ0cy5kaWdp Y2VydC5jb20vRW5jcnlwdGlvbkV2ZXJ5d2hlcmVEVlRMU0NBLUcxLmNydDAJBgNV HRMEAjAAMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHYApLkJkLQYWBSHuxOizGdw Cjw1mAT5G9+443fNDsgN3BAAAAFlhKJeAQAABAMARzBFAiEA1D+C2NxHKywhBvxc r/T8ibXcegayrSMUFQdACqdP62cCIB80+ey+9mkrLb7BRsTBbSI3NOLrViXKXI8c eUeXPOpOAHcAh3W/51l8+IxDmV+9827/Vo1HVjb/SrVgwbTq/16ggw8AAAFlhKJe kgAABAMASDBGAiEA2gOXHEtaVclq8EeIHhXoxzUoFDMljhg8tdcT89FPkQACIQD8 dV0WEmsXa+Hmj/MAjqXMeJMkoR55xa08L3uD5FptQTANBgkqhkiG9w0BAQsFAAOC AQEAVcFjxDMmbeOk1DHgMAsU11Uu5/5U9/uD25VXfZHkYfROcD9tv0rxVKRckZBU Q5EPLgp93o/P5xv4XKlpjEEDaBqddXXkzQ3WvXtQ4g5BH5JbII/SOckaYmpFexls 8X7PIGzE7bwm003Hu8kf/Fy0elsex1DnYoXw5xD84tcDhQzm0WXVTKZVBqqQKDBA 9F9YytGsVkVDMDBivGsHH20sAl2P+2RCt5ZCHzZhDUcHZSQoe3ehv6SYBY5XYd6X 5idsqhxuhGmVFeBXcjuWmrb6pQf9R++2ui09sS0Av6qMTErxGi6WAjIvXKO0eszB sf2F4TP7LeDaKDRfaGvMuiuc+A== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEqjCCA5KgAwIBAgIQAnmsRYvBskWr+YBTzSybsTANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD QTAeFw0xNzExMjcxMjQ2MTBaFw0yNzExMjcxMjQ2MTBaMG4xCzAJBgNVBAYTAlVT MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j b20xLTArBgNVBAMTJEVuY3J5cHRpb24gRXZlcnl3aGVyZSBEViBUTFMgQ0EgLSBH MTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPeP6wkab41dyQh6mKc oHqt3jRIxW5MDvf9QyiOR7VfFwK656es0UFiIb74N9pRntzF1UgYzDGu3ppZVMdo lbxhm6dWS9OK/lFehKNT0OYI9aqk6F+U7cA6jxSC+iDBPXwdF4rs3KRyp3aQn6pj pp1yr7IB6Y4zv72Ee/PlZ/6rK6InC6WpK0nPVOYR7n9iDuPe1E4IxUMBH/T33+3h yuH3dvfgiWUOUkjdpMbyxX+XNle5uEIiyBsi4IvbcTCh8ruifCIi5mDXkZrnMT8n wfYCV6v6kDdXkbgGRLKsR4pucbJtbKqIkUGxuZI2t7pfewKRc5nWecvDBZf3+p1M pA8CAwEAAaOCAU8wggFLMB0GA1UdDgQWBBRVdE+yck/1YLpQ0dfmUVyaAYca1zAf BgNVHSMEGDAWgBQD3lA1VtFMu2bwo+IbG8OXsj3RVTAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8C AQAwNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdp Y2VydC5jb20wQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQu Y29tL0RpZ2lDZXJ0R2xvYmFsUm9vdENBLmNybDBMBgNVHSAERTBDMDcGCWCGSAGG /WwBAjAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BT MAgGBmeBDAECATANBgkqhkiG9w0BAQsFAAOCAQEAK3Gp6/aGq7aBZsxf/oQ+TD/B SwW3AU4ETK+GQf2kFzYZkby5SFrHdPomunx2HBzViUchGoofGgg7gHW0W3MlQAXW M0r5LUvStcr82QDWYNPaUy4taCQmyaJ+VB+6wxHstSigOlSNF2a6vg4rgexixeiV 4YSB03Yqp2t3TeZHM9ESfkus74nQyW7pRGezj+TC44xCagCQQOzzNmzEAP2SnCrJ sNE2DpRVMnL8J6xBRdjmOsC3N6cQuKuRXbzByVBjCqAA8t1L0I+9wXJerLPyErjy rMKWaBFLmfK/AHNF4ZihwPGOc7w6UHczBZXH5RFzJNnww+WnKuTPI0HfnVH8lg== -----END CERTIFICATE----- 以上代码直接拷贝即可使用。虽然以上是过期的证书,但也是可以用于解决问题。
2、宝塔后台开启SSL
拷贝SSL证书代码开启这个新建站点
完成站点SSL HTTPS
第四步:设置默认站点 完成问题解决
将这个新建站点设置为默认站点
到此完成解决访问非开启ssl的站点以https访问却打开是开启ssl站点,这种有点像串站感觉。
最后如果以https访问未开启SSL站点,将不会打开SSL站点了。 ?
【方案三】
1、新建一个站点“null.com”,里面什么都不放,空的 2、给这个站点增加错误SSL(KEY和PEM) 3、默认站点选择null.com(默认站点在网站项目中,添加站点旁) 4、清理缓存访问测试下,无意外OK
PS: 在遇到这个问题第一时间做的是关闭A站点的SSL,但关闭后服务器内所有站点均无法访问,之后找到了这个方法,思路就是未开启SSL的站点通过https访问本就无法访问,所以有默认站点后,就会访问默认空站点的SSL,效果是一样的。 ?
|