Articles of virtualhost

在Apache上正确设置虚拟主机?

我有一个问题搞清楚在Centos6服务器上的Apache2虚拟主机的正确configuration。 我安装了一个安装了apache2(httpd)的干净的Centos6安装,默认情况下定义了/ var / www /图标 , / var / www / errors和/ var / www / cgi-bin内容文件夹它们是在/etc/httpd/conf/httpd.conf中configuration的。 我configuration了2个域a.com和b.com ,为此我创build了文档文件夹/var/www/a.com和/var/www/b.com ,并在/etc/httpd/conf/httpd.conf我configuration了NameVirtualHost NameVirtualHost *:80 并为a.com和b.com添加了相应的虚拟主机 <VirtualHost *:80> ServerAdmin [email protected] ServerName a.com ServerAlias www.a.com DocumentRoot /var/www/a.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/var/www/a.com"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory> […]

将Zend Framework 2从apache移动到nginx

我想将使用Zend Framework 2的站点从Apache移动到Nginx。 问题是该站点有6个模块,并且apache通过在httpd-vhosts.conf中定义的别名来处理它, #httpd-vhosts.conf <VirtualHost _default_:443> ServerName localhost:443 Alias /develop/cpanel "C:/webapps/develop/mil_catele_cp/public" Alias /develop/docs/tech "C:/webapps/develop/mil_catele_tech_docs/public" Alias /develop/docs "C:/webapps/develop/mil_catele_docs/public" Alias /develop/auth "C:/webapps/develop/mil_catele_auth/public" Alias /develop "C:/webapps/develop/mil_web_dicom_viewer/public" DocumentRoot "C:/webapps/mil_catele_homepage" </VirtualHost> 在httpd.conf中DocumentRoot被设置为C:/ webapps。 例如localhost/develop/cpanel站点。 框架处理更多的路由。 在Nginx中,我只能通过指定root C:/webapps/develop/mil_catele_tech_docs/public; 在服务器块。 它的工作原理只是因为docs模块不像其他人那样依赖auth,而且site是在localhost/ 。 在下一次尝试中: root C:/webapps; location /develop/auth { root C:/webapps/develop/mil_catele_auth/public; try_files $uri $uri/ /develop/mil_catele_auth/public/index.php$is_args$args; } 现在,当我进入localhost/develop/cpanel它得到正确的index.php,但无法find任何资源(CSS,JS文件)。 我不知道为什么浏览器的GET请求中的引用path更改为https://localhost/css/bootstrap.cssformshttps://localhost/develop/auth/css/bootstrap.css因为它在apache上。 这根指令似乎不工作。 Nginx使用fastCGI处理php location ~ […]

通过CentOS 6.5+服务器上的SSLVerifyCilent在Apache网页服务器上设置客户端证书validation

目标: 我的目标是在Centos框中设置Apache Web服务器,SSL和客户端证书validation与以下Apache虚拟主机类似( http://hstuart.dk/2010/04/09/x-509-certificates-and- mercurial / ): <VirtualHost *:443> SSLEngine on SSLCertificateFile /path/to/myserver.pem SSLCertificateKeyFile /path/to/myserver.key SSLCACertificateFile /path/to/ca.pem SSLCACertificatePath /path/to SSLVerifyClient require <Location /> SSLRequireSSL SSLOptions +FakeBasicAuth AuthName "FakeBasicAuth" AuthType Basic AuthUserFile /path/to/httpd.passwd require valid-user </Location> ScriptAliasMatch ^(.*) /path/to/hgwebdir.cgi$1 </VirtualHost> 当前解决scheme 截至目前,我有一个工作的Apache解决scheme,它基于一个自签名的CA证书,用于创build一个中间CA,再次用于创build一个Web服务器证书( https://jamielinux.com/articles/2013/ 08 /作为你自己的证书权威/ )。 在CA虚拟主机文件中使用CA,中间CA和Web服务器证书来设置SSL通信。 当我不使用SSLVerifyClient时,解决scheme按预期方式工作,无论是在Web服务器本身还是添加了CA证书的窗口框中。 没有唠叨的屏幕,一切都很好。 问题: 但是一旦我添加了SSLVerifyClient,我就可以在windows上获得Firefox的'sslv3 alert handshake failure' ,在centos服务器上获得'sslv3 alert […]

在启用/禁用apache2虚拟主机时,自动添加/删除/从/ etc / hosts中的条目

当我创build虚拟主机时,我几乎总是忘记在/etc/hosts添加一个条目,直到我尝试在networking浏览器中检查网站,并呻吟了一下监督。 我想要做的是修改a2ensite和a2dissite以便在运行时发生以下情况: a2ensite在/etc/hosts查找网站条目。 如果找不到,请将该网站附加到127.0.0.1条目。 否则,什么都不要做。 a2dissite在/etc/hosts查找网站条目。 如果发现,请从127.0.0.1中删除该网站。 否则,什么都不要做。 要么(MAMP在OS X上)或者添加一个提醒,我需要编辑etc/hosts来让虚拟主机工作。 我试图编辑这些文件,但是,因为我不知道PERL,我不确定做什么修改。 此外,我不确定编辑这些文件是最好的select,如果在升级apache2时覆盖我的更改。

用Apache 2.2replace所有基于主机名的URL

我正在为我的团队设置本地testing环境。 我们每个人都有自己的子域,指向我们内部networking上的机器。 在代码中,URL的全部都是用www子域名写的。 我需要用configuration所在的盒子的这些子域名replace掉所有我们共享的configuration。 我目前在所有的开发机器上运行Apache 2.4,并在条件块中使用mod_substitute和mod_headers来实现这一点。 以下是使用此configuration的其中一个虚拟主机的示例: <VirtualHost *:80> DocumentRoot "/var/www/html" ServerAlias nathans-dev.example.com robertr-dev.example.com justinb-dev.example.com ServerName www.example.com ErrorLog "logs/example-errors.log" SetOutputFilter INFLATE;SUBSTITUTE;DEFLATE AddOutputFilterByType SUBSTITUTE text/html AddOutputFilterByType SUBSTITUTE text/xml AddOutputFilterByType SUBSTITUTE text/css AddOutputFilterByType SUBSTITUTE application/xml AddOutputFilterByType SUBSTITUTE application/json AddOutputFilterByType SUBSTITUTE application/javascript <If "%{HTTP_HOST} == 'nathans-dev.example.com'"> Substitute "s|//www\.example\.com|//nathans-dev.example.com|iq" Header always edit Location "//www.example.com" "//nathans-dev.example.com" Header edit Location "//www.example.com" […]

用于Apache 2.4的tomcat 5.5的virtualHostconfiguration

我目前已经在负载均衡configuration中将Apache 2.4与两个tomcat服务器集成在一起。 networking服务器将接收来自DNS请求的两个域名http://domain1.nl和http://domain2.nl 我希望发送http(s)://domain1.nl/的请求到http(s)://domain1.nl/myapp1/login/login.do和http(s)://domain2.nl/到http (一个或多个)://domain2.nl/myapp2/ myapp1和myapp2都在两个负载平衡的Tomcat实例上运行。

Dreamhost云计算:Ubuntu 14.04 LTS / Apache 2监听多个端口

我正在DreamCompute服务中configurationUbuntu 14.04 LTS。 我已经安装了apache2,目前正在运行一个80端口的网站。 我现在挣扎的是configuration多个不同端口的网站。 当我尝试从Google Chrome访问http://67.205.56.105:8080/时 ,出现连接拒绝错误。 我描述了我在下面检查和完成的一切: 我创build了针对8080端口的文件/etc/apache2/sites-available/test.conf (虚拟主机): <VirtualHost *:8080> ServerAdmin [email protected] ServerName interemplea-test ServerAlias test DocumentRoot /var/www/html/test/web/ <Directory "/var/www/html/prod/web/"> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 在/etc/apache2/ports.conf中,我添加了要监听的8080端口。 Listen 80 Listen 8080 Listen 8000 <IfModule ssl_module> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> 我使用a2ensite命令激活了虚拟主机,并重新启动并重新加载了apache服务 。 另外我检查/var/log/apache2/error.log但只显示这个: [Fri Jul 24 […]

Drupal多站点,虚拟主机和CloudFlare

我希望有一些有CloudFlare经验的人可以借我一些指导。 背景 Drupal 多站点托pipe200多个站点,定期推出新站点。 所有站点的单一IP ,在Ubuntu VPS上使用Apache 虚拟主机 。 通过Aegirpipe理的网站。 每个网站由我们协会的成员组织拥有。 我们的主要领域是www.association.com 。 我们组织的成员收到一个子域用于开发目的(见下一个项目符号)。 会员最初是通过member_name.association.com访问网站的。 当他们的网站准备推出时,他们将其域名指向我们的IP。 Apache虚拟主机负责名称parsing。 示例场景 比方说一个属于我们协会的ABC Corp成员,和我们一起开辟了一个新的网站。 他们最初将通过ABC_corp.association.com访问他们的网站。 一旦他们的网站准备推出,他们更新他们的DNSlogging与他们的注册商指出他们的域名www.abc_corp.com到我们的IP。 问题 我们有兴趣使用CloudFlare来改善我们网站的性能,安全性和正常运行时间。 CloudFlare的文档表明: “[在注册时] …我们已经指定了两个CloudFlare域名服务器作为您域名的权威域名服务器(例如,bob.ns.cloudflare.com和sara.ns.cloudflare.com),您可以通过注册服务商从那里你买了你的域名(例如,GoDaddy,networking解决scheme,Register.com等)“。 所以,我的问题的部分是: CloudFlare会使用这个configuration吗? 我们协会的每个成员是否必须为其网站的域名注册商进行DNS更新?或者我们是否可以通过我们的域名注册商( www.association.com )更新一次? 根据你的经验,还有什么我应该知道关于使用CloudFlare这个configuration? 你的时间和专业知识,赞赏。 谢谢!

Apache 2.4在Debian上的问题 – 升级虚拟主机后的“Forbidden”

我已经尝试了很多可以通过Googlefind的build议,以便在从Debian升级到Jessie(从Apach 2.2升级到2.4)后使我的虚拟主机正常工作。 我有mod_rewrite和mod_access_compat,这就是为什么当我使用旧的语法似乎工作正常。 只要我Require all granted ,它停止工作,我得到403禁止。 我有很多的虚拟主机,这是相同的全线…大部分是Drupal的安装。 这是一个虚拟主机的例子: <VirtualHost *:80> ServerName www.skyjacobs.com Redirect 301 / http://skyjacobs.com/ </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName skyjacobs.com DocumentRoot /www/sky <Directory /www/sky> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny # These 2 lines work allow from all # Require all granted # If I use this line only, […]

HTTP到HTTPSredirect不工作!? – 尝试了多种方法

我从Godaddy购买了标准UCC SSL最多100包。 我在我的服务器上安装了所有必需的文件,并且转到https://www.example.com工作正常,但http://www.example.com未转发到https://版本…在某些浏览器。 这是为什么? 此网站是运行Apache最新版本的Ubuntu Linux机器上的虚拟主机。 我的configuration如下: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com UseCanonicalName Off DocumentRoot /var/www/vhosts/example.com/httpdocs Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost _default_:443> ServerName example.com ServerAlias www.example.com UseCanonicalName Off DocumentRoot /var/www/vhosts/example.com/httpdocs ErrorLog ${APACHE_LOG_DIR}/example.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/example-access.log combined SSLEngine on SSLCertificateFile […]