在由包含通配符条目(例如* .example.com)的DNS链接的Apache2服务器上,在任何VirtualHost中未定义为ServerNames的子域指向第一个定义的VirtualHost,在我的示例中,这是000-default。 我的问题: 如何获得未使用的子域(在任何虚拟主机中未使用的子域)向发出请求的客户端返回404错误? 最好在服务器日志中显示为404。 我研究了以下几种可能性: 将任何无效的子域名redirect到主页或其他页面。 这种方法的问题是,当有人链接到您的网站this.company.sucks.example.com,客户端将会看到您的主页或在我的情况下000-default,如果我不redirect。 谢谢, 麦克指出了这一点。 (正则expression式“吸”等肯定不是一个选项) 让默认的VirtualHost指向一个不存在的目录。 Apache不喜欢这一点,每次重新加载警告。 除了警告,一切似乎都很好。 这似乎是一个黑客。 这对任何人来说似乎都是一个问题(不pipe多么小)? 将默认的VirtualHost指向index.php被禁止的文件夹,从而创build一个403状态码。 这是令人困惑的,并使得以下事情过于复杂:例如说,您使用每个用户的子域(显然是使用通配符DNS的一个重要原因),并且用户能够在username.example中查看其他configuration文件。 COM。 这个解决scheme让用户感到困惑,完全不是我想要做的。 我的理想sollution将让用户知道没有什么可以查看他input的url。 最好有一个404和input地址的错误日志条目(而不是其他地址)。 任何帮助将不胜感激!
我使用Apache VirtualHosts在我的networking服务器上运行不同的网站。 现在我有麻烦得到一个网站上class。 当我浏览到Firefox的网站时,它说“Firefox无法在www.mydomain.comfind服务器”,即使拼写正确。 进一步traceroute和ping都parsing到正确的IP,所以我怀疑这是因为DNS问题。 我从一个工作站点复制了VirtualHost-config文件 ,只是改变了服务器上存在的域和path。 进一步我检查,该网站已启用(与a2ensite),重新启动Apache,重新加载Apache,但它仍然无法正常工作。 这是我的VirtualHost文件: <VirtualHost censored_ip:80> ServerName mydomain.com ServerAlias mydomain.com www.mydomain.com ServerAdmin <myemail> DocumentRoot /var/www/efin/ <Directory /var/www/efin/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error_efin.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost> 我希望有人可以在这里find这个错误,因为我不知道在哪里寻找它。 非常感谢。 如果需要,我很乐意提供进一步的信息。 真诚的,迈克尔 编辑(3.8.2011):其实我可以使用.com / file.zip下载/ var / www / […]
我有一个标准的RHEL6版本,我曾经可以使用IP地址浏览到服务器的DocumentRoot 。 我已经添加了这两个虚拟主机(只显示顶部)。 由于某种原因,现在当我访问服务器的IP地址时,Vhost会回答并使用错误的DocumentRoot 。 我真的不想为/var/www/html显式定义一个Vhost。 另一个说明…我已经将NameVirtualHost *:80添加到httpd.conf 。 任何想法,为什么鬼是回答这个? ==> axxx-http.conf <== <VirtualHost *:80> ServerAdmin [email protected] ServerName xxyy.com ServerAlias www.xxyy.com DocumentRoot /var/www/site <Directory /var/www/site> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ==> axxx-ssl.conf <== <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin webmaster@localhost ServerName xxyy.com ServerAlias www.xxyy.com ServerAlias admin.xxyy.com DocumentRoot /var/www/site <Directory /var/www/site> […]
我有一个VPS,我已经安装了Apache Web服务器。 我想要做的是将我自己的网站域转发到该服务器,并将这些网站的文件托pipe在我的Apache Web服务器中。 据我了解,需要DNS服务器来pipe理哪个域名托pipe在哪里(知识产权)。 但我想要做的是托pipe我的网站在同一个IP地址,这是我的networking服务器。 我怎样才能分离我的networking服务器内的这些网站的文件,所以我不必使用www.foo.com http://host/foo和www.foo.com http://host/bar ?
像这样的东西? # TLS v1.0+ for one IP <VirtualHost _default_:443> Order deny,allow // <————- HERE Deny from all // <————- HERE Allow from 10.20.30.40 // <————- HERE SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK SSLHonorCipherOrder on SSLCompression off … </VirtualHost> # TLS v1.2 for everyone else <VirtualHost _default_:443> Order allow,deny // <————- HERE Deny from 10.20.30.40 // […]
我希望当人们访问我的networking服务器的IP地址,如http://10.0.0.1 ,被redirect到域名,如http://example.com 。 我正在使用Apache Web服务器,我试过了: <VirtualHost 10.0.0.1:80> Redirect / http://example.com </VirtualHost> 它产生了一个无限recursion,因为它的优先级比 <VirtualHost *:80> ServerName example.com … </VirtualHost> 这是我最终想要服务的虚拟主机。 我也试过了 <VirtualHost 10.0.0.1:80> ServerName 10.0.0.1 Redirect / http://example.com </VirtualHost> 认为也许它只会匹配http://10.0.0.1而不是http://example.com 。 但是它也会产生一个无限循环。 任何想法如何实现? IP虚拟主机不是主要的,唯一的虚拟主机的原因是因为我想服务器上的其他IP也能够服务器example.com。
我已经添加了2个虚拟主机到我的apache2 conf文件如下: <VirtualHost *:80> DocumentRoot /var/www/html/site1 ServerName www.site1.com ServerAlias site1.com </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/site2 ServerName www.site2.com ServerAlias site2.com </VirtualHost> 然后我得到了重新启动Apache后,我得到的错误: [警告] 默认 VirtualHost在80端口重叠,第一个优先 search谷歌,他们说取消注释下面的行,所以我做了: NameVirtualHost *:80 重新启动,现在我没有得到错误,但两个网站都去了第一个网站。 运行Centos5。 我该如何解决这个问题?
我正在运行Debian,我没有控制面板或任何东西。 现在,我只是把我的域名指向服务器的IP,它是根,但我期待添加另一个域,所以我怎么做到这一点? 我会指出新的知识产权,但那么我将如何使它指向一个不同的目录?
在VirtualHosts内部或外部放置Directory标签有什么区别? 我发现一个configuration文件有几个VirtualHosts里面都有相同的Directory标签,外面是一样的; 所以我想摆脱这种重复,但我不完全理解所涉及的语义。
首先,我不确定这是否是正确的网站发布这个问题,但似乎更适合使用堆栈溢出,因为它的基于Web / DNS的。 我有一个麻烦build立一个子域,我有2个域名链接到我的vps运行Ubuntu 10.04与Apache2.2。 我正在使用虚拟主机redirect“mydomain'.co.uk到一个子文件夹,这一切工作正常。 我的问题是,我似乎不能将projects.mydomain.com链接到一个文件夹,请求似乎永远不会到我的networking服务器。 现在,123注册希望每年10英镑注册子域**女巫是荒谬的看到作为)他们应该是免费的,并且(二)我的主要领域花费我less于两年。 那么我所要求的是不得不为子域付费,还是仅仅是123域名? 如果是这样,如果我搬到另一个提供者,我将能够,我怎么能正确指出这些子域到正确的地方? 任何build议如何处理这将是篦! 感谢男孩和女孩。 Waltzy ** – 编辑。 原来10英镑的子域名与这个地址没有任何关系,你可以通过向DNS添加Alogging来实现。 看完这个后,reg123上的人竟然给我打电话! 谈谈客户支持!