Articles of virtualhost

将htaccess重写规则转换为Apache2虚拟主机规则

我试图通过结合一些.htaccess规则来设置通配符子域RewriteRule ,因为我相信我可以对我的Apache vhosts文件使用相同的规则。 实质上, example.com和www.example.com转到根path并查找index.php 。 所有其他(dynamic)子级别的请求,例如abc.example.com被重写(浏览器不可见)到example.com/process.php?p=abc 。 其次,基本/根级别之外的任何来自子域的文件的请求需要被重写为从没有子域的标准域的根path获得。 所以abc.example.com/css/style.css需要来自example.com/css/style.css 这是我的尝试。 我得到一个Apache错误: 您无权访问此服务器上的/index.php。 对于任何子域的尝试,除了www,其预期的工作,以及标准的example.com ,仍然工作正常。 <VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName other.example.com ServerAlias *.example.com DocumentRoot /var/www/example.com/public_html/ <Directory /var/www/example.com/public_html/> Options FollowSymLinks AllowOverride all Require all granted RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteCond […]

将Hyper-V群集升级到2012年

我们有一个现有的3节点群集运行2008R2 Hyper-V。 后端存储是一个EqualLogic iSCSI SAN。 我们正在更换此群集中的主机服务器,并正在同时升级到server 2012。 有没有办法做到这一点没有停机? 也许添加2012年服务器到2008R2集群并迁移虚拟机? 从我读过的内容来看,我将不得不计划在2008R2集群和新的2012集群之间移动虚拟机。 这是正确的吗? 没有零宕机升级path?

Apache虚拟主机(Ubuntu)的错误文档根

我试图设置一个Apache服务器与几个虚拟主机(www.domain.com&store.domain.com),但由于某种原因,当我刚刚启用它们之一(store.domain.com)Apacheredirect到错误的文档根目录(/ var / www),这显然是默认的。 这是没有正确redirect的虚拟主机configuration文件: <VirtualHost *:80> ServerName store.domain.com ServerAdmin [email protected] DocumentRoot /var/www/store/public_html/ ErrorLog /var/www/store/logs/error.log CustomLog /var/www/store/logs/access.log combined </VirtualHost> 当我运行命令apache2ctl -S我得到以下内容: Name or service not known: AH00547: Could not resolve host name *80 –ignoring! AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xxx.xxx. Set the 'ServerName' directive globally to suppress […]

Apache2 mod_wsgi django命名虚拟服务器

我试图在Apache上使用mod_wsgi设置两个独立的Django站点。 第一个网站工作正常,但第二个网站cupaday.dyndns.biz给出了一个403: [Tue Feb 07 22:32:57 2012] [error] [client 68.48.6.208] (13)Permission denied: access to / denied有人看到有什么错? 我读了关于部署多个虚拟服务器,大多数人指出,确保有一个允许所有人的目录指令。 我试图设置这个path到我的应用程序,到wsgi目录和实际的。 就像我说的第一个网站snaganitem工作正常。 有谁知道我可以解决这个问题? 或者有没有办法看到403 errror的详细版本? 谢谢。 NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin [email protected] ServerName snaganitem.com ServerAlias www.snaganitem.com LogLevel warn ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined WSGIScriptAlias / /home/snaganitem/hackpages/apache2/django.wsgi <Location "/static"> SetHandler None </Location> <Directory /home/snaganitem/hackpages/apache2> Order allow,deny Allow from all […]

logging或cname

我有一台服务器(Ubuntu + Apache),我们在那里托pipe一个应用程序,客户可以在其中创build自己的子域 – 即基本上通配的子域。 我们有一个客户想要把他们自己的域名(www.client.com)放在我们的服务器上唯一的子域名(client.app.com)上。 这应该是透明的,这样当有人在www.client.com上input时,url仍然会显示www.client.com,但是在client.app.com上一切都是透明的。 在他的DNS中,他应该创build一个指向我们的IP地址的Alogging,还是指向client.app.com的cname? 在这两种情况下,我们需要创build的虚拟主机有什么不同?

apache2和VirtualHost与外来字符和多个别名

我有一个简单的Apache2设置与两个VirtualHosts。 一个是“正常”字符的域名,一个是外国字符(带有punycode)。 问题是我不知道如何将“www”添加为punycode域的别名。 与“正常”之一,它工作正常。 这是“正常”的主机: ServerName aev25.no ServerAlias www.aev25.no 我可以使用名称和别名访问正确的站点。 这里是“foreign”/ punycode主机: ServerName xn--hvin-gra.no ServerAlias høvin.no 现在,由于我没有“www”的别名,所以自然不会这样工作。 但是,如果我尝试添加另一个别名,如下所示: ServerName xn--hvin-gra.no ServerAlias høvin.no ServerAlias www.høvin.no 或这个: ServerName xn--hvin-gra.no ServerAlias høvin.no www.høvin.no 它不工作。 它只是打开默认的apache2网站。 所以看来,这不是正确的做法,即使apache2不抱怨。 我也有一个域名aev25.no的设置,其中ServerAlias是www.aev25.no。 这工作正常,这应该表明,这个问题是不相关的www。* .: ServerName aev25.no ServerAlias wwwaev25.no (工作正常) 那么,如何将另一个别名添加到域? 或者我应该以另一种方式做这个? 注意:apache2版本是2.2.22。

MAMP – 主机名更改为具有两个本地主机的项目的第一个虚拟主机SSL条目

我有两个互相拷贝的项目,在我的Mac上使用MAMP。 他们都有SSL页面。 但是,只要我点击项目2的安全SSL页面,base_url或host就会变成project1,而不是剩下的project2。 我知道这是虚拟主机的一个问题,因为如果我切换条目的顺序,就会发生相反的情况。 这是我的configuration文件: /Applications/MAMP/conf/extra/httpd-ssl.conf <VirtualHost _default_:443> DocumentRoot "/Applications/MAMP/htdocs/proj1" ServerName proj1.localhost:443 ErrorLog "/Applications/MAMP/Library/logs/error_log" TransferLog "/Applications/MAMP/Library/logs/access_log" SSLEngine on SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt" SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key" </VirtualHost> <VirtualHost _default_:443> DocumentRoot "/Applications/MAMP/htdocs/proj2" ServerName proj2.localhost:443 ErrorLog "/Applications/MAMP/Library/logs/error_log" TransferLog "/Applications/MAMP/Library/logs/access_log" SSLEngine on SSLCertificateFile "/Applications/MAMP/conf/apache/ssl/server.crt" SSLCertificateKeyFile "/Applications/MAMP/conf/apache/ssl/server.key" </VirtualHost> ——————– cat /etc/hosts ## # Host Database # # localhost is used to configure the […]

允许Apache 2.2中的特定VirtualHost的目录视图/遍历

我configuration了下面的vhost: <VirtualHost *:80> DocumentRoot /var/www/myvhost ServerName myv.host.com ServerAlias myv.host.com ErrorLog logs/myvhost-error_log CustomLog logs/myvhost-access_log combined ServerAdmin [email protected] <Directory /var/www/myvhost> AllowOverride All Options +Indexes </Directory> </VirtualHost> 从apachectl工具的angular度来看,configuration看起来是正确的。 但是,我无法获得该虚拟主机上的目录列表: Forbidden You don't have permission to access / on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. 错误日志显示如下: […]

VirtualHost默认在重新启动时错误部署

我们有一个运行七个域/子域的服务器。 为了尽可能less地尝试,我将包括其中四个。 example.com www.example.com dwf.example.com chris.example.com 服务器在90%的时间内都工作得很好,但偶尔我们会得到更多的请求,数据库服务器也会closures。 这然后最大的apache连接,因为所有的数据库连接正在等待超时。 一切顺利,我们强制重新启动数据库,连接恢复。 但是,这些请求将进入dfw.example.comconfiguration。 该部署没有我们的代码库,这是一个大问题,我不明白为什么发生这种情况。 在这种情况发生的时候,它也一直在进行部署,而我们从来没有任何其他的5。 从我读的文档中,我认为Apache通过httpd.conf文件读取并查找第一个NamedVirtualHost匹配: 现在,当请求到达时,服务器将首先检查是否使用了与NameVirtualHost匹配的IP地址。 如果是,那么它将查看每个具有匹配的IP地址的<VirtualHost>部分,并尝试find一个ServerName或ServerAlias与所请求的主机名相匹配的部分。 如果find一个,那么它使用该服务器的configuration。 如果找不到匹配的虚拟主机,则将使用与IP地址匹配的第一个列出的虚拟主机。 我们正在运行Apache 2.2.15。 我认为与httpd.conf文件相关的部分是: Listen 80 Listen 255.255.255.255:443 … ServerName www.example.com …(这是确切的顺序,www(https / http),dfw,然后所有其他版本) NameVirtualHost www.example.com:80 <VirtualHost www.example.com:80> ServerAdmin [email protected] DocumentRoot /var/www/html/www.example.com ServerName www.example.com DirectoryIndex index.html DirectoryIndex index.php LogLevel notice ErrorLog /var/log/httpd/www.example.com/error.log CustomLog /var/log/httpd/www.example.com/access.log w3c_extended </VirtualHost> NameVirtualHost www.example.com:443 <VirtualHost […]

虚拟主机和符号链接,为什么我不能将DocumentRoot设置为符号链接?

我最近在我的服务器上设置了Capistrano,而且效果很好。 我改变了我的虚拟主机,指向由Capistrano创build的符号链接。 我的虚拟主机文件: <VirtualHost *:80> DocumentRoot /var/www/html/my_app.com/current ServerName my_app.com <Directory /> Options FollowSymLinks AllowOverride Indexes </Directory> </VirtualHost> 当我重新启动我的Apache服务器使用sudo service httpd restart ,我得到的错误: Warning: DocumentRoot [/var/www/html/my_app.com/current] does not exist current目录肯定存在。 当我设置虚拟主机指向…/my_app.com/ ,它的工作原理和显示默认的apache页面,问题是这个符号链接到current (这是更新为我部署应用程序使用capistrano)。 我使用的是Amazon EC2实例,Apache 2.2(LAMP)。 所以基本上,我如何将一个虚拟主机指向一个符号链接? 更新 ls-l的输出: lrwxrwxrwx 1 ec2-user ec2-user 57 Aug 28 22:40 current -> /var/www/html/my_app.com/releases/20120828223437 drwxrwxr-x 3 ec2-user ec2-user 4096 Aug […]