我有几个不同的虚拟主机创build,每个人都有自己的文件夹在/ var / www /像这样 /var/www/example1/ /var/www/example2/ 现在,当我用www www.example1.cominputurl时,它指向/var/www/example1/index.html所以工作正常,但是当我input没有www example1.com它指向/var/www/和我可以看到所有的文件夹,我没有/var/www/ index.html。 我在这里查看并在/ var / www /中创build.htaccess: RewriteEngine On RewriteBase / RewriteCond % ^example1.com [NC] RewriteRule ^(.*)$ http://www.example1.com/$1 [L,R=301] 但它不工作。 这就是所有虚拟主机的样子: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName *example1* ServerAlias *.*example1* DocumentRoot /var/www/example1 <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/example1/> Options Indexes FollowSymLinks MultiViews AllowOverride All […]
过去,我使用旧的DNS条目(属于其他人)指向服务器时遇到了问题。 为防止服务器响应,并使这些主机名显示为保存我的内容的确切副本,我使用NameVirtualHost并使默认虚拟主机总是响应503禁止。 这似乎很好地工作。 现在,我想知道如何用SSL实现同样的function。 显然,如果客户端在使用无法识别的主机名时通过HTTPS请求一个页面,他们会得到SSL警告,因为证书不匹配。 但是,他们可以select绕过这些警告。 即使客户端select忽略SSL警告,我也想阻止服务器提供内容。 看来我不能使用相同的NameVirtualHost技巧,因为使用SSL的基于名称的虚拟主机需要SNI,这与旧客户端存在潜在的兼容性问题,我宁愿避免。 相反,我必须使用基于IP的虚拟主机。 SSLRequireSSL似乎没有帮助 – 无论证书是否工作,都很高兴。 谷歌是这样的一个例子,虽然大概不使用Apache。 如果你编辑你的/ etc / hosts并在谷歌IP地址上指定一些随机的名字,当你通过SSL访问它时,你首先会得到一个警告,但是如果你继续,你会得到一个503错误 – “服务错误-27。我们所知道的“。 我不确定这真的很重要。 由于之前的stream浪的DNS条目导致的明显的重复网站实际上导致我们的内容在search引擎中出现在错误的域名下。 在这种情况下,假设(希望!)search引擎将不索引的内容,如果SSL证书是无效的。 不过,如果有一个标准的方法,我想这样做。
我试图做一个负载平衡使用Apache,但是当我到我的(本地)主机“负载” 没有find 我已经加载了这些mods LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule status_module modules/mod_status.so 这是我的虚拟主机: ServerName load ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> <Proxy balancer://wwwCluster> BalancerMember http://localhost:1001 loadfactor=1 BalancerMember http://localhost:1002 loadfactor=5 BalancerMember http://localhost:1003 loadfactor=3 Order Deny,Allow Deny from none Allow from all ProxySet lbmethod=byrequests </Proxy> ProxyPass /balancer balander://wwwCluster 平衡器pipe理器工作得很好SetHandler balancer-manager允许所有
我想将Apacheconfiguration为在同一台服务器上安装并运行的Nexus,Jenkins和Foreman的代理。 这里是Foreman的虚拟主机configuration文件的示例,Nexus和Jenkins的其他文件看起来非常相似,除了代理传递参数。 LoadModule ssl_module modules/mod_ssl.so NameVirtualHost *:443 <VirtualHost *:443> SSLEngine On SSLProxyEngine On SSLCertificateFile /etc/httpd/ssl/certs/ssl.crt SSLCertificateKeyFile /etc/httpd/ssl/keys/server.key ServerName management.domain.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /foreman http://127.0.0.1:3000/foreman ProxyPassReverse /foreman http://127.0.0.1:3000/foreman ProxyPassReverse /foreman http://management.domain.com/foreman ProxyRequests Off ProxyPreserveHost On ErrorLog /var/log/httpd/management.domain.com_foreman_error.log LogLevel warn CustomLog /var/log/httpd/management.domain.com_foreman_access.log combined </VirtualHost> 问题是,Apache只考虑了一个configuration文件,而忽略了另外两个导致错误信息“请求的URL / jenkins /在这个服务器上找不到的”。 当我尝试访问URL management.domain.com/jenkins 如何configurationApache来加载这三个虚拟主机? […]
在我的本地开发服务器上,我设置了像这个projectName.dev这样的域的testing站点 在我的Apacheconfiguration文件中使用下面的设置… NameVirtualHost *:80 <VirtualHost *:80> VirtualDocumentRoot E:/Server/htdocs/projects/%1/www ServerAlias *.dev </VirtualHost> 这允许我在浏览器中访问projectName.dev ,它将从E:/Server/htdocs/projects/projectName/www/ 我想修改这个,这样我也可以访问相同的文件夹,如果我使用子域名www所以在我的例子projectName.dev和www.projectName.dev将加载相同的文件。 有人可以帮我做这个吗? 我不太了解这个文档
在我的服务器状态页面,我看到很多来自本地主机的请求。 这些是为了什么? 他们究竟在做什么? 201-0 – 0/0/327 . 0.94 28653 0 0.0 0.00 99.83 ::1 domain.com OPTIONS * HTTP/1.0 202-0 – 0/0/140 . 1.65 28333 0 0.0 0.00 52.80 ::1 domain.com OPTIONS * HTTP/1.0 203-0 – 0/0/359 . 3.15 28425 0 0.0 0.00 88.87 ::1 domain.com OPTIONS * HTTP/1.0 204-0 – 0/0/353 . 4.16 28861 0 […]
我有一个VirtualHost,我想有几个子域名。 (为了清楚起见,假设我的域名是example.com ,我只是想通过让foo.example.com工作,并从那里开始构build。) 我发现一个子域与我的框架非侵入性地工作最简单的方法是通过mod_rewrite代理到一个子path。 因此,path将在客户端的URL栏中显示为http://foo.example.com/(无论什么),而他们实际上将被提供http://foo.example.com/foo/(whatever) 。 我设法在我的VirtualHostconfiguration文件中这样做: ServerAlias *.example.com RewriteEngine on RewriteCond %{HTTP_HOST} ^foo\.example\.com [NC] # <— RewriteCond %{REQUEST_URI} !^/foo/.*$ [NC] # AND is implicit with above RewriteRule ^/(.*)$ /foo/$1 [PT] (注意:很难find这个特定的工作组合,特别是在[RewriteRule]中,[PT]似乎是必须的,我无法用我在别处看到的例子[L] 。它不会显示任何东西或进入循环。也有一些浏览器似乎caching响应页面的糟糕的循环,一旦他们得到一个页面重新加载后修复它不会显示它正在工作!任何情况下 – 如果这部分可以做得更好。) 现在我想让什么http://foo.example.com/foo/(无论)提供取决于谁问。 如果请求来自外部,我希望客户端被Apache永久redirect,以便他们在浏览器中获得URL http://foo.example.com/(无论什么) 。 如果它来自mod_rewrite的内部,我想要的是由Web框架处理…这是不知道子域。 是这样的可能吗?
我有一个在AWS上运行的实例,有一个Apache 2,两个命名域和一个ip。 我设法configurationApache和两个域(domain1.com和domain2.com)。 第一个域的docroot指向/var/www/html/vh/domain1.com第二个域的docroot指向/var/www/html/vh/domain2.com 还行吧。 问题是,我想直接在浏览器上使用IP访问/ var / www / html。 当我试图做到这一点,我得到的网站托pipe在domain1.com。 我怎样才能做到这一点?? httpd.conf中的相关行: ServerName 9.9.9.9:80 DocumentRoot "/var/www/html" NameVirtualHost *:80 <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html </VirtualHost> <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html/vh/domain1.com ServerName domain1.com DirectoryIndex index.php </VirtualHost> <VirtualHost 9.9.9.9:80> DocumentRoot /var/www/html/vh/domain2.com ServerName domain2.com DirectoryIndex index.php </VirtualHost> 如果我尝试访问: http://9.9.9.9 我得到/var/www/html/vh/domain1.com下的页面,而不是/ var / www / html托pipe的页面 我究竟做错了什么? Thx提前!
在将Apache从2.2更新到2.4的操作系统升级之后,我现在正在尝试访问http://files.fierydragonlord.com/和http://status.fierydragonlord.com/的 403s。 但是, http://www.fierydragonlord.com的作品。 这是怎么回事? 以下是我的vhosts.conf: # # VirtualHost template # Note: to use the template, rename it to /etc/apache2/vhost.d/yourvhost.conf. # Files must have the .conf suffix to be loaded. # # See /usr/share/doc/packages/apache2/README.QUICKSTART for further hints # about virtual hosts. # # NameVirtualHost statements can be added to /etc/apache2/listen.conf. # # Almost any Apache […]
我遵循这个指南,并试图通过允许foo.dev指向Web文件夹/foo来在OSX上创builddynamic虚拟主机。 我的区别是,我正在使用~/Sites作为我的网页文件夹,而不是像指南中的Mac HD。 它使用dnsmasq,我相信是安装和正常工作。 所以在我的〜/站点文件夹中我有: home sites |-foo |-bar 我的httpd-vhosts.conf如下所示: <Virtualhost *:80> DocumentRoot "/Users/harryg/Sites/home" ServerName home.dev UseCanonicalName Off ErrorLog "logs/home/error.log" <Directory "/Users/harryg/Sites/home"> #Options FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> </Virtualhost> <Virtualhost *:80> VirtualDocumentRoot "/Users/harryg/Sites/sites/%1" <Directory "/Users/harryg/Sites/sites/%1"> Options FollowSymLinks #Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> […]