北肙

当你不能够再拥有,唯一可以做的,就是令自己不要忘记。

Apache/2.2.22 VirtualHost不识别部分域名解决办法

按照“http://beyan.me/?id=104”配好虚拟主机后,刚开始一切正常。后来为了配置邮箱,遂改了“/etc/hosts”和“/etc/hostname”文件,那么问题来了,为“beyan.me”配置的虚拟主机死活认不到,浏览器访问的时候指向了“000-default”的目录。顺便提一句“vultr.com”的VPS,从“老左博客”开始有所了解。因为在阿里云的主机要修改备案,结果客服打电话过来告诉我网站不能有留言版块,不能有评论性文字。我辗转反侧想了好久,觉得应该为国家为民族做点什么。宪法是提倡言论自由的,可阿里云却公然违宪,限制我一个堂堂中华人民共和国公民的言论权。是可忍,郭不可忍?阿里云的背后到底隐藏着一股什么样的黑暗势力,竟让它们这般有恃无恐?所以,我要站出来,做一个维护宪法尊言的中国人,尽一己之力,让大家有理可讲,有话可说。关于爱国情怀,此处按住不提。 说到“vultr.com”的主机,本来想的是拿个优惠券,试用一个月,结果非要伦家添加个信用卡,千万般确认没有写扣费的事项,于是乎就下一步下一步直到完成。做完从阿里云到该主机的数据迁移,开始的一周,网站访问正常,邮件收发正常,除了Mac连不上VPN(此处参见“http://beyan.me/?id=100”)。一周之后,邮件出不去,网站不能正常转发。关于邮件出不去,研究了日志,发现报“time out”,怀疑是配置VPN的时候做了“iptables”转发导致地址出不去。在经历了重启、 重新配置系统等等不必要和无用的操作后,抱着试试看的态度给“vultr.com”发了个工单,收到回复后再搜索,有人评价“vultr.com”防垃圾邮件的措施简单粗暴,果不其然,SMTP的25端口被封了。下面是客服给的回复。 Hello, In order to combat spam and spamlike activities, our system requires a properly completed and vetted CC authorization form to confirm clients' identities prior to SMTP block removal. Please complete the authorization form and fax it in or scan and attach to this ticket: https://my.vultr.com/billing/cc_auth_form.pdf 现在已经提交了相关信息,由于时差,正在坐等结果。而网站转发的问题,也是瞎折腾了一整个周天,此处贴上虚拟主机的配置以方便说明。 <VirtualHost *:80> ServerAdmin [email protected] […]

按照“http://beyan.me/?id=104”配好虚拟主机后,刚开始一切正常。后来为了配置邮箱,遂改了“/etc/hosts”和“/etc/hostname”文件,那么问题来了,为“beyan.me”配置的虚拟主机死活认不到,浏览器访问的时候指向了“000-default”的目录。顺便提一句“vultr.com”的VPS,从“老左博客”开始有所了解。因为在阿里云的主机要修改备案,结果客服打电话过来告诉我网站不能有留言版块,不能有评论性文字。我辗转反侧想了好久,觉得应该为国家为民族做点什么。宪法是提倡言论自由的,可阿里云却公然违宪,限制我一个堂堂中华人民共和国公民的言论权。是可忍,郭不可忍?阿里云的背后到底隐藏着一股什么样的黑暗势力,竟让它们这般有恃无恐?所以,我要站出来,做一个维护宪法尊言的中国人,尽一己之力,让大家有理可讲,有话可说。关于爱国情怀,此处按住不提。

说到“vultr.com”的主机,本来想的是拿个优惠券,试用一个月,结果非要伦家添加个信用卡,千万般确认没有写扣费的事项,于是乎就下一步下一步直到完成。做完从阿里云到该主机的数据迁移,开始的一周,网站访问正常,邮件收发正常,除了Mac连不上VPN(此处参见“http://beyan.me/?id=100”)。一周之后,邮件出不去,网站不能正常转发。关于邮件出不去,研究了日志,发现报“time out”,怀疑是配置VPN的时候做了“iptables”转发导致地址出不去。在经历了重启、 重新配置系统等等不必要和无用的操作后,抱着试试看的态度给“vultr.com”发了个工单,收到回复后再搜索,有人评价“vultr.com”防垃圾邮件的措施简单粗暴,果不其然,SMTP的25端口被封了。下面是客服给的回复。

Hello,
In order to combat spam and spamlike activities, our system requires a properly completed and vetted CC authorization form to confirm clients' identities prior to SMTP block removal.
Please complete the authorization form and fax it in or scan and attach to this ticket:
https://my.vultr.com/billing/cc_auth_form.pdf

现在已经提交了相关信息,由于时差,正在坐等结果。而网站转发的问题,也是瞎折腾了一整个周天,此处贴上虚拟主机的配置以方便说明。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName beyan.me
ServerAlias www.kitaluft.com blog.kitaluft.com kitaluft.com
ServerAlias www.beyan.me blog.beyan.me
ServerAlias www.0x97.com blog.0x97.com 0x97.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.kitaluft\.com|blog\.kitaluft\.com|kitaluft\.com|www\.beyan\.me|blog\.beyan\.me|www\.0x97\.com|blog\.0x97\.com|0x97\.com)
RewriteRule ^(.*)$ http://beyan.me$1 [R=permanent,L]
...
</VirtualHost>

如上所示,明明“ServerName”定义了“beyan.me”,在访问的时候却指向了“000-default”配置的默认目录。后来找到一篇贴子“http://serverfault.com/questions/191218/apache-isnt-respecting-the-servername-directive-for-a-particular-site”,看完后恍然大悟啊。原来在“000-default”定义的虚拟主机没有“ServerName”字段,所以会把主机默认的“hostname”的域名当作默认主机名,而“000-default”又是最开始执行的,所以会有访问“beyan.me”指向默认目录的错误。

解决方法一:把“/etc/apache2/sites-enabled/000-default"重命名为“zzz-default”,虽然可以解决网站访问错误,但是等于是绕过了默认虚拟主机中的配置,不推荐如此修改。

解决方法二:在“000-default”中配置的虚拟主机中添加一行“ServerName default.com”,“default”不需要修改。完美解决了上述问题。

最后,感谢谷歌,感谢网上的大牛们。

Leave a Reply

Your email address will not be published. Required fields are marked *