Articles of 虚拟主机

使用通配符为域和文档根目录设置虚拟主机别名 – doc根目录未正确parsing

我只是对这个问题中使用正确的术语有一个模糊的概念,所以请随意通过澄清来帮助我。 我有一个虚拟主机设置。 这个想法是,我想要一个通配符路由所有请求root.TERM.lh到/TERM/文档根。 下面的设置可以识别域并相应地路由它们,但它不会将文档根中的%1转换为TERM。 例如,Apache错误日志告诉我,对于root.mywebsite.lh的请求,它试图路由到/Users/hollsk/Dev/websites/%1 ,所以它将它解释为一个文字string。 我的语法不正确,还是我缺less一些模块? NameVirtualHost * <VirtualHost *> ServerName root.%1.lh ServerAlias root.%1.lh DocumentRoot /Users/hollsk/Dev/websites/%1/ </VirtualHost>

在CentOS上设置Godaddy SSL?

我以前从来没有在Linux上build立SSL,但对它的工作原理有一个总体的了解。 服务器规格如果有帮助: 服务器:CentOS Linux 6工作站:Windows 7 所以,我有4个域共享一个单一的Magento安装和IP地址。 假设我的一个域名是“mywebsite1.com”我现在想为这个域名启用SSL,但是我遇到了错误。 我究竟做错了什么? 这是我的工作stream程: 我从Godaddy购买了一个SSL,然后用它们给出的命令生成了csr和key: openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite1.key -out mywebsite1.csr 我将这两个文件复制到/ etc / pki / tls / private 我打开mywebsite1.crs,然后将代码复制并粘贴到Godaddy。 我生成的crt文件,并从Godaddy下载,上传到我的服务器,然后将它们移动到/ etc / pki / tls / certs 一个。 第一次尝试,我打开了/etc/httpd/conf.d/ssl.conf并更新了默认的 VirtualHost块的SSLCertificate File,KeyFile和ChainFile值,以指向正确的位置。 湾 第二次尝试,遵循http://dev.antoinesolutions.com/apache-server/mod_ssl我修改了ssl.conf并添加了这个指令: NameVirtualHost *:443 C。 然后我删除了整个默认的 VirtualHost块(这是相当长的)。 最后一次尝试,我将以下内容添加到修改后的ssl.conf中 <VirtualHost *:443> SSLEngine on SSLCertificateFile […]

Apache 301在vhost中redirect

我希望redirect(301)一个url,如果url不存在一个string。 例如: http :: //example.com必须总是redirect到http :: //example.com/en http :: //example.com/test.html必须总是redirect到http :: //example.com/en/test.html http :: //example.com/test/another_page必须始终redirect到http :: //example.com/en/test/another_page 喜欢这个。

Apache虚拟主机奇怪的行为

我有多个域通过A-Record链接到我的服务器。 对于他们所有人,我创build了一个虚拟主机。 其中一些运行有和没有www。 有些具有其他子域,有些具有通配符(子)域。 所有的运行都很好,除了一件事。 当我通过使用服务器IP地址冲浪到我的服务器时,我不会访问默认主机(/ var / www),而是访问其他虚拟主机之一。 这是因为IP地址不匹配任何虚拟主机,然后将使用按字母顺序定义的虚拟主机。 到目前为止,好的。 但是现在我不想让ip地址匹配默认的主机而不是其他的主机。 所以我把“默认”的vhost文件改名为“aaa-default”。 一切运行良好。 直接ip访问匹配默认主机。 除了一个以外,所有其他域名都与他们的虚拟主机相匹 域名code-bude.net的虚拟主机完美匹配除了没有www的访问以外的所有情况。 http://www.code-bude.net – >作品 http://admin.code-bude.net – >工程 http://code-bude.net – >不起作用 问题/问题但是,当默认的名称默认http://code-bude.net工作。 那么为什么它不工作,当默认是第一个主机? 注意:目前default被命名为default,否则我的博客(code-bude.net)将无法访问。 如果你现在通过使用ip(37.221.194.133)去服务器,你会看到,它匹配blitzartig.net而不是默认的服务器页面(如果你导航到admin.code-bude.net )。 “aaa-default / default”虚拟主机文件: <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None […]

无限循环与VirtualDocumentRoot,.htaccess和mod_rewrite

我想用apache2build立健壮的多用户开发环境。 所以我把以下文件放在etc/apache2/sites-available/mydomain.com <virtualhost *:80> ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/mydomain.com/prod </virtualhost> <virtualhost *:80> VirtualDocumentRoot /var/www/mydomain.com/%1 ServerName dev.mydomain.com ServerAlias *.dev.mydomain.com </virtualhost> 然后将以下.htaccess文件复制到每个/var/www/mydomain.com/*目录中: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [QSA,L,NS] Finaly它适用于像http://mydomain.com/这样的请求,但不适用于http://mydomain.com/foo 。 Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if […]

Apache虚拟主机无法在.com域上工作

我有一个奇怪的问题。 我有两个域:mysite.co.uk和mysite.com,它们需要指向我的服务器上的同一个目录。 为mysite.co.uk VHost完美的作品。 但是,mysite.com将无法正常工作。 当我重新启动apache时,我看不到任何错误。 当我进入域时,它正在到达正确的服务器,但在/ var / www中显示索引文件,而不是redirect到/var/www/html/mysite.co.uk/web/ 我的代码有错误吗? 这与mysite.co.uk的configuration完全相同,所以我很困惑,为什么它不能正常工作。 可用网站: <VirtualHost *:80> ServerName mysite.com DocumentRoot /var/www/html/mysite.co.uk/web/ ServerAlias *mysite.com </VirtualHost> 的apache.conf: <VirtualHost *:80> ServerName *.mysite.com DocumentRoot "/var/www/html/mysite.co.uk/web/" </VirtualHost>

大量虚拟主机:将任何portnumber映射到自己的域名

我需要定义规则(使用mod_rewrite我认为)映射任何端口portnumber.domain.com 。 如何在Apache2中做到这一点? 现在我有一个像下面的每个端口号的configuration。 # 9003.domain.com <VirtualHost *:80> ServerName 9003.domain.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:9003/ ProxyPassReverse / http://127.0.0.1:9003/ </VirtualHost> # 9004.domain.com <VirtualHost *:80> ServerName 9004.domain.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:9004/ ProxyPassReverse / http://127.0.0.1:9004/ </VirtualHost> # and so on….

Apache:以每个虚拟主机的方式configurationprefork

我在同一个Linux服务器(AWS EC2实例)上托pipe不同的站点,我想通过虚拟主机特定的configuration为这些站点提供不同的限制。 这可能吗?

如果我为新域创build虚拟主机,是否必须创build第二个虚拟主机来维护先前存在的直接访问?

我们有一个生产erp服务器,迄今为止只能从局域网访问。 我们现在有一个要求,它的一部分可以从外部访问。 我们不在内部运行DNS,因此所有的访问权限都是192.168.xx。局域网之外访问的一些例外情况是在路由器的ACL中将几个IP列入白名单,并添加一条静态路由来转发stream量路由器的静态广域网IP。 现在,我已经build立了一个域名来击中我们的另一个IP。 路由器configuration中还有一个静态路由,用于将该IP的stream量转发到同一台服务器。 我基本上只是创build了另一种方式来打80/443相同的服务器。 我现在想要做的是build立一个虚拟主机configuration,以便通过新域进入的stream量将打到一个特定的文件夹… domain.com/public例如。 我不确定的是,如果有的话,这可能会影响现有的no-virtualhost设置。 TL; DR 如果我设置了一个虚拟主机configuration来将基于域的stream量指向特定的文件夹,那么我是否必须显式地(设置另一个虚拟主机)关于非基于域的stream量能够像现在那样击中根?

Apache vhost日志按date旋转

我已经在Debian 7(在VPS上)上运行了Apache 2.2,为几个不同的网站定义了虚拟主机。 我已经为每个虚拟主机设置了单独的错误和访问日志,但是我还没有find一种方法来根据我的喜好来旋转/归档日志。 当然,Debian上默认的Apache日志是通过logrotate旋转的,但是由于种种原因我并不觉得特别满意 – 主要是因为我想让归档日志按date命名,而且因为每个vhost分别configuration它看起来很麻烦。 我也不确定自动删除旧日志; 我可能只想从服务器下载它们之后手动执行此操作。 我的理想解决scheme是每个月(甚至每周)都做下面的事情: 将date附加到文件名,或将文件移动到名为date的子文件夹。 Gzip存档的文件。 我也需要这个很容易设置为多个虚拟主机。 理想情况下,不应该涉及到重新启动Apache(尽pipe优雅的重启不是世界末日)。 设置这个最好的方法是什么? 我相信这是在…之前完成的