Questions tagged «virtualhost»

与虚拟主机有关的问题;也就是说,为同一台计算机上多个逻辑上分开的实体提供内容。通常与Web服务器中基于名称的虚拟主机有关,但也可以涵盖其他协议,例如SMTP或IMAP。

2
在Nginx中使用通配符证书的多个SSL虚拟主机
我有两个主机名,它们共享要通过HTTP服务的相同域名。我有一个通配符SSL证书,并创建了两个vhost配置: 主持人A listen 127.0.0.1:443 ssl; server_name a.example.com; root /data/httpd/a.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; 主机B listen 127.0.0.1:443 ssl; server_name b.example.com; root /data/httpd/b.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; 但是,我为任一主机名使用了相同的虚拟主机。

5
子网域的Nginx伺服器名称冲突
我目前在Nginx上为foo.domain.com运行了一个虚拟主机,一切正常。 我为要添加的新子域创建了一个名为bar.domain.com的新文件。我对两者使用相同的设置。 重新启动Nginx时,我得到 Restarting nginx: nginx: [warn] conflicting server name "" on 0.0.0.0:443, ignored nginx. 当我访问bar.domain.com时,我会看到应该看到的内容,但是当我访问foo.domain.com时,我看到了bar.domain.com链接到的页面。 oo upstream php-handler { server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name foo.domain.com; return 301 https://$server_name$request_uri; } server { listen 443; ssl on; ssl_certificate [path_foo]/cacert.pem; ssl_certificate_key [path_foo]/privkey.pem; root [path]/foo; ... } 酒吧 server { …
14 nginx  ssl  virtualhost 

4
是否可以在Apache中为单个VirtualHost(长卷毛狗)设置SSLProtocol?
我正在尝试测试针对狮子狗漏洞的补丁,该补丁涉及在Web服务器上禁用SSLv3。为了首先在非生产环境中进行测试,我在VirtualHost上为另一台测试服务器设置了SSLProtocol。我的配置看起来像这样: <VirtualHost *:443> SSLEngine On SSLProtocol All -SSLv2 -SSLv3 ServerName test.mysite.com # bunch of other stuff omitted </VirtualHost> 但是,即使在重新启动apache之后,我的测试站点仍然被称为易受攻击的站点。这有望奏效吗?我想知道是否必须在全局ssl配置中进行设置,或者是否还有其他细微之处导致设置无法使用和/或起作用。

5
Nginx。如何拒绝对未列出的SSL虚拟服务器的请求?
我在同一个IP上有一个通配符SSL证书和几个子域。现在,我希望我的nginx只处理提到的服务器名称,并断开与其他服务器的连接,以便看起来好像 nginx未运行未列出的服务器名称(不响应,拒绝,无效,没有单个字节作为响应)。我做以下 ssl_certificate tls/domain.crt; ssl_certificate_key tls/domain.key; server { listen 1.2.3.4:443 ssl; server_name validname.domain.com; // } server { listen 1.2.3.4:443 ssl; server_name _; // deny all; // return 444; // return 404; //location { // deny all; //} } 我已经尝试了最后一个服务器块中的几乎所有内容,但没有成功。我从已知的虚拟服务器收到有效响应或错误代码。请帮忙。

2
您是否应该编辑/删除默认的Apache网站配置?
我刚刚按照本教程设置了在Apache中基于名称的虚拟化,并且效果很好。 本教程基本上你到一个配置文件添加到sites-available所谓的yourdomain.com,然后将其链接到sites-enabled。 默认情况下,阿帕奇包括在两个站点配置文件sites-available,default和defualt-ssl。 您应该编辑这些文件还是从sites-enabled目录中删除链接? 在(本地)操作之后,我意识到默认情况下默认站点指向您的根/var/www目录,因此,如果有人直接进入您服务器的IP,他们是否可以然后看不到中的所有虚拟主机和其他目录/var/www,除非默认的vhost配置已更改为指向其他目录,或从sites-enabled?删除 我只是想知道如果服务器用于基于名称的虚拟化,那么默认站点通常会做什么? 抱歉,如果我遇到了一些不正确的问题,因为我是运行自己的Web服务器的新手。

4
我可以在Apache conf的同一VirtualHost中定义HTTP和HTTPS吗?
我有一个很大的VirtualHost定义,我不想重复它,因此该站点也可以通过HTTPS运行。 这是我想做的: <VirtualHost *> ServerName example.com <If port=443> SSLEngine on SSLCertificateFile ... SSLCertificateKeyFile ... SSLCertificateChainFile ... </If> (other config) </VirtualHost> 有什么办法可以做到这一点? 我是否缺少不重复配置的其他方法?

3
每个Apache虚拟主机都有单独的php.ini文件吗?
是否有一个单独的php.ini文件可以覆盖每个虚拟主机的默认php.ini文件?我正在运行Apache / 2.2.14,PHP 5.3.2-1。 例如,我有几个虚拟主机指向/var/www/目录中的域: /var/www/website1.com /var/www/website2.com 我想要的是能够在每个目录中放置一个自定义php.ini文件,该文件将仅覆盖该虚拟主机的默认值,但是如果未指定该值,则保留原始默认值: /var/www/website1.com/htdocs/ /var/www/website1.com/php.ini 编辑 对于那些感兴趣的人,我在如何使用NameVirtualHosts在LAMP服务器上设置每个站点的php.ini文件中找到了有关该主题的更多信息。。

1
使用UCC / SAN证书的单个IP上的Apache SSL VirtualHosts
我需要通过单个IP使用SSL托管多个Apache虚拟主机。 现在-我了解到,因为SSL环绕HTTP请求,所以在先将公钥发送到客户端之前,无法知道正在请求哪个主机。这从根本上打破了使用标准SSL证书的SSL虚拟主机的可能性。 我已经获得了统一通信证书(UCC),也称为主题备用名称(SAN)证书。这使我可以为多个域提供相同的证书。 我希望这是Apache为任何 SSL请求提供的证书-一旦建立了加密,然后让Apache照常解析虚拟主机。 我应该如何为此配置Apache?我试图研究如何做到这一点,但我能找到的只是引号,说这是可能的,但没有具体说明: wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI 虽然Apache可以在看到请求中的主机名之后(并且确实)在以后重新协商SSL连接,但为时已晚,无法选择在初始握手期间用于匹配请求主机名的正确服务器证书,从而导致浏览器警告/有关证书包含错误的错误。其中错误的主机名。 serverfault.com/questions/48334/apache-virtual-hosts-with-ssl 顺便说一句,可以在一个IP地址上拥有多个由SSL保护的命名虚拟主机-我在我的网站上进行过-但它会在Apache日志中生成各种警告,并在浏览器中生成证书警告。对于肯定需要干净的生产站点,我当然不会推荐它。-戴维7月31日4:58 www.digicert.com/subject-alternative-name.htm 虚拟主机单个IP地址上有多个SSL站点。在单个服务器上托管多个启用SSL的站点通常每个站点需要一个唯一的IP地址,但是带有使用者备用名称的证书可以解决此问题。Microsoft IIS 6和Apache都能够使用统一通信SSL(也称为SAN证书)来虚拟主机HTTPS站点。 请帮忙。

5
基于主机名的动态Nginx域根路径?
我正在尝试使用基本的master / catch-all vhost配置来设置我的开发nginx / PHP服务器,以便可以根据需要创建无限的___.framework.loc域。 server { listen 80; index index.html index.htm index.php; # Test 1 server_name ~^(.+)\.frameworks\.loc$; set $file_path $1; root /var/www/frameworks/$file_path/public; include /etc/nginx/php.conf; } 但是,对于此设置,nginx会返回404错误。我知道nginx和PHP可以正常工作并具有权限,因为localhost我使用的配置工作正常。 server { listen 80 default; server_name localhost; root /var/www/localhost; index index.html index.htm index.php; include /etc/nginx/php.conf; } 我应该检查什么才能发现问题?这是它们都正在加载的php.conf的副本。 location / { try_files $uri …
11 php  nginx  virtualhost 

2
如何为虚拟主机自动化zabbix Web方案?
我是Zabbix和企业监控的新手。我刚完成安装Zabbix 2.4。 我正在尝试监视所有vhosts在不同服务器上错位的状态。 到目前为止Web scenario,vhost我想到的唯一解决方案是为要监视的每个主机手动添加一个到Zabbix服务器主机。但这不是那么方便。 到处搜索时,我发现了一个论坛线程,它具有部分起作用的思想:使用a template从目标服务器读取所有vhosts(通过macro)并Web scenario为每个创建一个vhost。 编辑:此解决方案(基于Zabbix 2.2)不起作用,因为无法将LLD(低级发现)与一起使用Web scenarios。 有一个功能请求,因为11月14日开放来实现LLD的Web scenarios。 题 问题是在等待功能实现时是否有解决方案或建议,或者我的方法是完全错误的。

2
如何“测试”基于名称的虚拟主机?
我们的网站mysite.com将托管在具有虚拟主机(基于名称)的服务器上10.20.30.40。但是,DNS记录当前指向66.77.88.99。 我想在测试时保持指向这些DNS记录的位置66.77.88.99;10.20.30.40反正我有什么办法可以访问吗? 由于目标服务器使用虚拟主机,因此我不能简单地输入IP地址以在目标站点上进行测试。另外,我无法控制目标服务器,因此无法设置要测试的子域。

3
如何禁用对特定虚拟主机的https访问?
好了,因此我使用以下指令设置了Apache服务器: NameVirtualHost *:80 <VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias *.example2.com DocumentRoot /var/www/example2 </VirtualHost> <VirtualHost example1.com:443> DocumentRoot /var/www/html ServerName example1.com:443 SSLEngine on ... </VirtualHosts> 因此example1.com具有SSL支持,可以通过http:// example1.com或https:// example1.com进行访问。但是,这有意外的副作用,当我在浏览器中访问https:// example2.com时显示https:// example1.com。我想做的基本上是某种程度上禁用https:// example2.com或将其重定向到http:// example2.com,这样当我访问它时,我不会得到警告和错误的站点。

2
SSL站点未在Apache和Ubuntu中使用正确的IP
我正在尝试设置一个apache-ubuntu-php网络服务器。我的网络服务器将托管多个SSL站点,每个SSL站点将具有其自己的IP地址(除非有更好的方法来执行此操作)。 因此,我认为第一步是让apache识别至少两个不同的IP地址。现在,我有一个网站的SSL和非SSL版本,分别为http://mysite.com和https://mysite.com。尽管两者当前都在我的服务器上运行,但是我不能让两者都使用不同的IP地址。目前,两者都使用IP 1.1.1.1。我购买了第二个IP地址2.2.2.2,但是https://mysite.com将不接受它,并且Firefox抱怨错误“ ssl_error_rx_record_too_long”。这是我的2个虚拟主机文件 / etc / apache2 / site-enabled / 000-default #NameVirtualHost 1.1.1.1:80 #<VirtualHost 1.1.1.1:80> <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None …

3
Apache在文件系统上找不到文件夹;在文件路径末尾附加“ \ xe2 \ x80 \ x9d”
我在运行OS X Mavericks的个人Macintosh上的apache2中运行了三个虚拟主机,并且陷入了混乱。它们在我的httpd-vhosts.conf文件中进行了如下配置: <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ServerAlias localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev1" ServerName dev1.local ServerAlias www.dev1.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev2" ServerName dev2.local ServerAlias www.dev2.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev3” ServerName dev3.local ServerAlias www.dev3.local </VirtualHost> 注意:第一项允许我输入“ localhost”,并在不运行虚拟主机的情况下按预期加载它。 dev1和dev2可以正常工作,但出现错误404,提示“在此服务器上找不到请求的URL /”。当我尝试在本地计算机上加载dev3时。这三个Dev文件夹都具有我已验证名称的相同权限。当我检查error_log时,我发现了这一点: [2014年1月24日星期五12:55:07] [错误] [客户端127.0.0.1]文件不存在:/ Library / WebServer / …

3
如何禁用apache2中的默认VirtualHost?
在apache2中,根据设计,任何具有未知主机的http请求都将被定向到第一个加载的VirtualHost。有没有办法禁用此功能?换句话说,我想拥有一个Web服务器,用户只能在其中访问显式命名的VirtualHost定义。在ServerName或ServerAlias行中未明确提及的任何其他主机名都应静默忽略。 这可能吗? Listen 80 NameVirtualHost * <VirtualHost _default_:*> # Anything matching this host should be silently ignored. </VirtualHost> <VirtualHost *> DocumentRoot /www/example1 ServerName www.example.com </VirtualHost> <VirtualHost *> DocumentRoot /www/example2 ServerName www.example.org </VirtualHost> 更新:正如下面和其他地方所建议的,无声地忽略请求可能不是一个好主意,并且可能破坏了HTTP的RFC。但是,由于虚拟主机被设计为模拟具有多个单独的物理HTTP服务器,所以对我而言,无声忽略方法似乎并不合理。这将与基于IP的虚拟主机和对某些IP进行防火墙防护(也许并非针对所有客户端)相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.