标签: virtualhost

为什么 Apache 会忽略服务器名称与请求的 URL 匹配的虚拟主机?

我正在尝试将第二个虚拟主机添加到我的 apache 配置中,但似乎无法使用新的虚拟主机。

我的httpd.conf只是包含以下行:

ServerName radiofreebrighton.org.uk
Run Code Online (Sandbox Code Playgroud)

我还有一个ports.conf文件,其中包含以下内容:

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
    Listen 443
</IfModule>
Run Code Online (Sandbox Code Playgroud)

我有两个文件,sites-available这是符号链接到sites-enableda2ensite

  • radiofreebrighton.org.uk
  • trafalgararches.co.uk

第一段的内容是:

<VirtualHost _default_:80>
    DocumentRoot /home/tom/www

    ServerAdmin tom@radiofreebrighton.org.uk
    ServerName radiofreebrighton.org.uk
    ServerAlias www.radiofreebrighton.org.uk

    <Directory /home/tom/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log
    LogLevel error
    CustomLog /var/log/apache2/access.log combined

    Alias /wiki /home/tom/www/mediawiki/index.php
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

后者的内容是:

<VirtualHost *:80>
    DocumentRoot /home/tom/tata-www

    ServerAdmin admin@trafalgararches.co.uk
    ServerName trafalgararches.co.uk
    ServerAlias www.trafalgararches.co.uk

    <Directory /home/tom/tata-www/>
            Options Indexes …
Run Code Online (Sandbox Code Playgroud)

virtualhost apache-2.2

31
推荐指数
2
解决办法
8万
查看次数

如何在 Nginx 上为特定虚拟主机设置 favicon.ico?

我第一次使用 Nginx 作为我的网络服务器。我在设置它时没有遇到任何麻烦,一切都很好。当设计师问我是否可以将“标题栏中的图标”发送给我“把它放在那里”时,问题就出现了。

# /opt/nginx/conf/nginx.conf
...
server {
    listen 80 ;
    server_name *.website.com website.com;
    root /home/webuser/sites/website;
}
Run Code Online (Sandbox Code Playgroud)

我的目录:

/home/webuser/sites/website/
|_ index.html
|_ main.css
|_ favicon.ico
Run Code Online (Sandbox Code Playgroud)

是否可以将特定的 favicon.ico 放在每个虚拟主机上?您应该将该文件放在哪里以及如何配置它?

编辑:

我才意识到这是一个完全不同的问题。两个答案都是正确的,但我的问题是许可。我不知道为什么文件 favicon.ico 最终获得了 600 权限,当然我这样做的那一刻:

chmod +r favicon.ico
Run Code Online (Sandbox Code Playgroud)

像魅力一样工作。如果它发生在其他人身上,我会把它留在这里。

nginx virtualhost favicon

31
推荐指数
2
解决办法
7万
查看次数

浮动IP和虚拟IP有什么区别?

这可能是一个普通的问题,但是“浮动 IP”地址和“虚拟 IP”地址之间有什么区别?它们是同义词吗?

networking ip virtualhost

30
推荐指数
2
解决办法
4万
查看次数

Nginx 上的通配符虚拟主机

我刚刚在我的服务器上安装了 Nginx 并且对结果非常满意,但是我仍然不知道如何插入通配符虚拟主机。

这是我想要的 [目录] 结构:

-- public_html (example.com)
---subdoamin 1 (x.example.com)
---subdomain 2 (y.example.com)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这是非常基本的,但是,我希望能够通过简单地为新子域添加 A 记录来添加域,该记录将立即指向 public_html 下的同名子目录。

网上有很多东西,但我还没有遇到过完全这样的东西。

任何帮助将不胜感激。

nginx wildcard subdomain virtualhost

29
推荐指数
2
解决办法
7万
查看次数

防止默认服务器的最佳方法?

我有许多虚拟主机,我想通过空白页、错误页面或通常最有效地使用 Nginx 资源的任何方式“关闭”默认虚拟主机,同时只允许其他虚拟主机通过预定义的域。

nginx virtualhost

29
推荐指数
1
解决办法
3万
查看次数

即使 VirtualHost 具有“AllowOverride All”,也会忽略 .htaccess

我在 Fedora 13 上运行 LAMP 服务器,运行正常;但是,我只是在我当前站点的 docroot 文件夹中添加了一个“.htaccess”文件,该文件被完全忽略。

我已经尝试了六种不同的测试,包括这个:

RewriteEngine on
RewriteBase /

RewriteRule ^.*$ index.php
Run Code Online (Sandbox Code Playgroud)

但是图像和所有其他页面加载良好,不存在的文件仍然是 404。我也试过这个:

order deny,allow
deny from all
Run Code Online (Sandbox Code Playgroud)

但每个页面仍然加载得很好。.htaccess 文件再次被 100% 忽略。

我们将虚拟主机记录放在 /etc/httpd/conf.d/virtual.conf 中。它看起来像这样:

NameVirtualHost *

<VirtualHost *>
    ServerName              intranet
    DocumentRoot            /var/www/default
    <Directory "/var/www/default">
        Options FollowSymLinks
        AllowOverride All

        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *>
    ServerName              ourwebsite.com
    DocumentRoot            /var/www/html/ourwebsite.com/docroot
    <Directory "/var/www/html/ourwebsite.com/docroot">
        Options FollowSymLinks
        AllowOverride All

        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

还有什么可能导致我们的服务器完全忽略.htaccess文件?

编辑:

我将 .htaccess 文件更改为上面的内容,以更好地证明我的更改被忽略了。请注意,我在生产服务器上尝试了完全相同的 .htaccess 文件,并且运行良好。

编辑2: …

.htaccess virtualhost apache-2.2

28
推荐指数
2
解决办法
9万
查看次数

SNI 和 HTTP 提供的域之间的冲突

我最近将一个带有小商店的 WordPress 网站从托管服务提供商转移到了我自己的运行 Ubuntu Server 12.04.2 LTS 和 Apache 2.2.22 的服务器上。我需要为商店使用 SSL。我设置了几个简单的虚拟主机上了一个新的IP服务器,一个绑定到特定的IP和其他绑定到端口443两者都有的端口80ServerName www.example.comServerAlias example.com在虚拟主机的配置。我有SSLStrictSNIVHostCheck off

该网站运行速度很慢,但正在运行。我在错误日志中收到以下信息。

[Error] Hostname example.com provided via SNI and hostname www.example.com provided via HTTP are different
Run Code Online (Sandbox Code Playgroud)

我预计缓慢与上述消息有关。关于为什么会出现这种情况以及我能做些什么的任何想法?

virtualhost apache-2.2

27
推荐指数
3
解决办法
6万
查看次数

如何查看每个 Apache 虚拟主机使用了多少带宽?

我设置了 Apache 来为多个虚拟主机提供服务,我想看看每个站点使用了多少带宽。我可以看到整个服务器使用了多少,但我想要更详细的报告。

我发现的大多数事情都是为了限制虚拟主机的带宽,但我不想这样做;我只想看看哪些网站使用了多少带宽。

这不是为了计费目的,只是为了提供信息。

是否有我应该使用的 apache 模块?或者有其他方法可以做到这一点?

bandwidth monitoring virtualhost apache-2.2

25
推荐指数
2
解决办法
3万
查看次数

如何在附加到一个 IP 的 DNS 中查找所有主机名?

如果我在一台机器上配置了多个主机(一个 la apache 的 VirtualHosts),我如何查找 IP 并找到所有配置为访问它的域?

例如,我有几个 Web 和电子邮件域连接到我的服务器。如何找到指向它的所有域?

甚至有可能吗?

我有我拥有的所有域的 DNS A 条目,而且我知道一些朋友的域指向我的服务器。我想看到的是,我认识的人是否指向那里。(或者,如果有人将他们的域重新指向其他地方,我可以从我的服务器中删除他们的“旧”网站。)

domain-name-system domain virtualhost nslookup

25
推荐指数
2
解决办法
10万
查看次数

在 Mac OS X Lion 上解析虚拟主机的速度非常慢

自从升级到 Mac OS X Lion(来自 Snow Leopard)后,我注意到解析到虚拟主机非常慢(大约 3 秒之间)。我找到了一些可能解决此问题的技巧(例如,不使用 .local TLD),但它们不适用于我的设置。

我的设置非常简单: - Apache 2(Lion 附带) - 启用 PHP - 添加了一些虚拟主机 - 安装了 Mail 和 SMTP Pear 包

Apache 的主机文件如下所示:

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost
127.0.0.1   tbi.dev
127.0.0.1   www.tbi.dev
127.0.0.1   test1.tbi.dev
127.0.0.1   test2.tbi.dev
127.0.0.1   psa.dev
127.0.0.1   snd.dev
Run Code Online (Sandbox Code Playgroud)

Apache 的虚拟主机文件如下所示:

<VirtualHost *:80>
    DocumentRoot "/Users/Bart/Sites/tbi"
    ServerName tbi.dev
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/Bart/Sites/tbi"
    ServerName tbi.dev
    ServerAlias *.tbi.dev www.tbi.dev
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/Bart/Sites/psa"
    ServerName psa.dev
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Users/Bart/Sites/sandbox" …
Run Code Online (Sandbox Code Playgroud)

mac-osx virtualhost apache-2.2

25
推荐指数
3
解决办法
2万
查看次数