师哥 发表于 2021-10-25 19:31:07

访问用https访问只有http的站点,会使用其它站点证书

我用的环境是lamp,添加了几个站点
a.com   配置了80和443
b.com   配置了80和443
c.com   只配置了80

访问https://c.com 服务器却认为我是在访问a.com,服务器返回了a.com的ssl证书,浏览器出现的内容就是ssl错误安全警报,继续访问后是a.com的内容。(不要问为啥不是https站点,还要用https访问,chrome的毛病,默认它会用https访问)
只有访问http://c.com才能正常访问c站点。
我把a.com站点删除后,访问https://c.com,服务器又认为我在访问b.com,返回了b.com的证书和内容

每个站点都添加了属于自己的ServerName,都没有配置ServerAlias
求大佬指点,如果用https访问一个不存在的站点,怎样才返回403这种错误,不要去乱访问其它站

licess 发表于 2021-10-26 11:43:11

论坛搜索:空主机头

师哥 发表于 2021-10-26 16:41:58

licess 发表于 2021-10-26 11:43
论坛搜索:空主机头

感谢大佬回复,群里搜索到的几乎都是nginx的,我用的是apache,自己一番尝试后,没有成功
看教程是要随便添加一个不存在的站点,我用下面的代码添加在所有站点的前面
<VirtualHost *:443>
ServerAdmin webmaster@example.com
php_admin_value open_basedir "/tmp/:/var/tmp/:/proc/"
DocumentRoot /tmp
ServerName fdasgweg.cn
</VirtualHost>
这样所有的站点都打不开报错了,提示无法提供安全链接

licess 发表于 2021-10-27 15:20:21

师哥 发表于 2021-10-26 16:41
感谢大佬回复,群里搜索到的几乎都是nginx的,我用的是apache,自己一番尝试后,没有成功
看教程是要随便 ...

原理都是一样的。ServerName 填写你的服务器IP
因为是ssl站点所以必须要配上ssl证书及ssl的相关配置
SSLEngine on
SSLCertificateFile /path/to/file
SSLCertificateKeyFile /path/to/file
ssl证书用一个其他域名的或者自签发一个
页: [1]
查看完整版本: 访问用https访问只有http的站点,会使用其它站点证书