我们在svn.example.org下提供一个SVN仓库。 现在我们要为该域添加一个Let's Encrypt证书 – 但现在有一个问题。 让我们encryption通过将文件放入该虚拟主机的子文件夹(例如/.well-known/acme-challenge/… )来validation域。 让我们encryption无法validation该文件,因为Apache正在svn.example.org下提供SVN仓库。 现在的问题是,是否可以configurationApache,以便某些URL不被SVN存储库提供? 目前vhostconfiguration看起来类似于这样的: DocumentRoot /var/www/vhosts/svn.example.org/ <Location /> DAV svn SVNParentPath /var/www/vhosts/svn.example.org/httpdocs/ AuthType Basic AuthName "SVN" AuthUserFile /auth/svn.passwd Require valid-user </Location> 我不知道我要做什么,所以请求svn.example.org/.well-known/…是由Apache服务不同。
在为我的主网站创build特定的虚拟主机之前 login到主IP地址打开了Apache默认的欢迎页面 但创build此虚拟主机后,domain.com工作正常,但IP地址打开的domain.com相同的内容 # /etc/httpd/conf.d/domain.com.conf <VirtualHost *:80> ServerName www.domain.com ServerAlias domain.com DocumentRoot /var/www/domian.com/public_html ErrorLog /var/www/domian.com/error.log CustomLog /var/www/domian.com/requests.log combined </VirtualHost> 我不想更改apache欢迎页面 更新 我把这个代码放在我的网站虚拟主机的内容之前来解决问题 <VirtualHost _default_:80> DocumentRoot /var/www/html </VirtualHost>
我经营一个小型网站开发和devise业务,并提供托pipe给我的客户。 到目前为止,我一直在购买非常实惠的VPS,并将其用于我的客户。 由于我的许多客户有小型的WordPress网站或没有数据库的静态网站,我可以把5-10个客户放在一个VPS上。 问题是我不提供cPanel或任何其他pipe理小组,因为这太昂贵了。 我为每个客户创build一个SSH账户,只访问他们的文件夹。 所有的VPS都运行Ubuntu和Apache或者nginx。 我使用Apache或nginx虚拟主机将每个域指向相应的文件夹。 这个过程是有点费时,因为每次我有一个新的客户端,我不得不手动创build一个新的SSH用户,并授予他访问特定的文件夹。 这种方法不好或不推荐? 有没有更好的办法来处理这个问题? 有没有更好的方式与多个客户共享一个VPS? 提前致谢!
假设我有一个域名为fish.example.com的logging,指向一个运行apache / nginx的http服务器,并为该域名设置了虚拟主机。 我也从cow.example.net创build一个CNAME到fish.example.com 什么域最终在我的apache / nginx,这是行为可configuration的Apache / Nginx?
我有一个有3个networking接口的linux服务器,一个用于局域网,另一个用于广域网(IPv4和IPv6)。 到目前为止,apache被configuration为使用80上的单个虚拟主机为external.domain.com (作为ServerName )和internal.domain.local (作为ServerAlias )提供同一个网站。 我现在已经获得了external.domain.com的证书,并用mod_rewrite重新configuration了虚拟主机,以将HTTP请求redirect到HTTPS。 从外部访问该网站时,效果很好。 但是,由于网站是用不同的主机名访问的,所以我认为来自局域网的请求应该使用普通的HTTP。 我是否需要创build一个单独的虚拟主机,或者我可以处理一切只有一个? 这是我目前的configuration: <VirtualHost *:80> ServerName external.domain.com RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName external.domain.com ServerAlias internal.domain.local Header always add Strict-Transport-Security "max-age=15768000" DocumentRoot /data/htdocs/site1 <Directory /data/htdocs/site1> Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/site1-error.log LogLevel […]
我有一个Apache 2.2服务器和一个现有的虚拟主机(foo.com)代理内部服务器。 我已经添加了另一个虚拟主机(bar.com),我想代理到不同的内部服务器。 我的vhost.conf文件看起来像这样(减去一些注释和匿名): # START <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://foointernal:80/ ProxyPassReverse / http://foointernal:80/ DocumentRoot "E:/Apache/htdocs/foo/" ServerName foo.com ServerAlias foo.com ServerAdmin [email protected] ErrorLog "E:/Apache/logs/foo_error.log" TransferLog "E:/Apache/logs/foo_ccess.log" </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://barinternal:80/ ProxyPassReverse / http://barinternal:80/ DocumentRoot "E:/Apache/htdocs/bar/" ServerName bar.com ServerAlias bar.com ServerAdmin [email protected] ErrorLog "E:/Apache/logs/bar_error.log" TransferLog "E:/Apache/logs/bar_access.log" </VirtualHost> # END 当我在浏览器中打开http://foo.com时,一切正常。 […]
我有两台服务器,私有IP,Apache 2.4。 我在两台服务器上都提供相同的内容,在这些服务器前面有一个负载平衡器。 负载平衡器使用公共IP,并且有一个与其关联的域(mycompany.com)。 然而,客户购买了一个新的域,并希望使用相同的服务器来提供新的内容。 据我所知,我需要configurationVirtualHosts。 我已经阅读了有关VirtualHosts的文档,似乎是基于名称的虚拟主机的情况。 但是由于主机名的公共IP与平衡器相关联,我不知道如何configuration私有服务器才能知道如何解决要提供的内容。 感谢指导。
为example.com设置虚拟主机,并希望将www.example.com用作我的首选域时,是否使用以下标准实践: <VirtualHost *:80> ServerName example.com ServerAlias www.example.com # … </VirtualHost> …其中我的首选域名是别名? 如果我要切换ServerName和ServerAlias的值,这是否重要? 据我所知,它们是可以互换的(除了你可以指定多个服务器别名)。
我有一个像这样定义的域的VirtualHost块: <VirtualHost *:443> ServerName example.com:443 ServerAlias www.example.com:443 如果我使用此urlhttps://example.com/ ,网站会按预期加载。 当我使用这个URL https://www.example.com/ ,Apache正在为configuration中定义的第一个虚拟主机提供内容和SSL证书。 我明白虚拟主机的定义顺序是重要的,所以在我看来, ServerAlias指令由于某种原因不匹配。 我的networkingsearch没有find解决这个问题的线索。
我在亚马逊AWS上有一个远程ubuntu服务器,而且我正在启用一个使用a2ensite的站点。 我有一个conf文件在我的/etc/apache2/sites-available/001-mysite.conf我的服务器名称和服务器别名是这样摆放的 ServerName 4techgroups.com #Works ServerAlias www.4techgroups.com #Doesn't work http://4techgroups.com #works <Directory /var/www/html/site1> AllowOverride All </Directory> 我不知道为什么我在4techgroups.com工作时无法访问www.4techgroups.com。 难道是因为它是一个亚马逊AWS服务器。