Articles of 虚拟主机

设置域别名时出现语法错误

我试图通过Pre VirtualHost Include设置域别名,我收到以下错误: Error: An error occurred while running: /usr/local/apache/bin/httpd -DSSL -t -f /usr/local/apache/conf/httpd.conf Exit signal was: 0 Exit value was: 1 Output was: — Syntax error on line 15 of /usr/local/apache/conf/includes/pre_virtualhost_global.conf: CustomLog takes two or three arguments, a file name, a custom log format string or format name, and an optional "env=" clause (see […]

在Rails应用程序上运行ruby的apache2服务器已经去了在Chrome / Firefox中工作的爸爸证书,即9但不是8

我有一个轨道应用程序在一个linode的Ubuntu 11服务器,运行Apache2。 我有一个从godaddy购买的证书(我们也买了我们的域名),证书安装在我的服务器上。 我的虚拟主机文件的一部分: ServerName my_site.com ServerAlias www.my_site.com SSLEngine On SSLCertificateFile /path/my_site.com.crt SSLCertificateKeyFile /path/my_site.com.key SSLCertificateChainFile /path/gd_bundle.crt 该证书在Chrome,FireFox和IE 9+的罚款,但在IE 8我得到这个错误: There is a problem with this website's security certificate. The security certificate presented by this website was issued for a different website's address. 我在同一台服务器上托pipe多个Rails应用程序(现在4加上一些不需要SSL的旧的PHP网站)。 我试着用Googlesearch每个可能的错误/情况的组合,但是现在我在黑暗中拍摄。 最近我可以想出一些版本,如果IE不支持SNI。 但是这并不适用,因为我在运行IE 8的Windows 7计算机上得到警告,而且如果操作系统是Windows XP,SNI似乎只适用于IE 8。 那么为什么这个证书被所有的浏览器接受,但在IE8中给我一个警告? 编辑: 所以做更多的挖掘,我想出了更多。 事实certificate,这也影响了IE 9。 […]

Apache中的dynamic虚拟主机configuration

我想在我的网站上使用dynamicconfiguration在Apache中创build虚拟主机。 比如像这样的东西就是完美的。 <VirtualHost *:80> AssignUserId $domain webspaces ServerName $subdomain.$domain.$tld ServerAdmin admin@$domain.$tld DocumentRoot "/home/webspaces/$domain.$tld/subdomains/$subdomain" <Directory "/home/webspaces/$domain.$tld/subdomains/$subdomain"> …. </Directory> php_admin_value open_basedir "/tmp/:/usr/share/pear/:/home/webspaces/$domain.$tld/subdomains/$subdomain" </VirtualHost> $ subdomain,$ domain,$ tld将在请求时使用正则expression式从HTTP_HOSTvariables中提取。 没有更多的configuration负载,没有更多的Apache每x分钟重新加载,没有更多的愚蠢的逻辑。 请注意,我使用mpm-itk(AssignUserId指令),因此每个虚拟主机都以不同的用户身份运行。 我不打算改变这部分。 从现在起我试过了: – mod_vhost_alias,但是这只允许dynamicconfiguration文档根目录。 – mod_macro,但是这仍然需要为每个虚拟主机明确声明虚拟主机的参数。 – 我已经阅读了有关mod_vhs和其他模块,这些模块将configuration存储在SQL或LDAP服务器中,这是不可接受的,因为不需要configuration! 这3个必要的参数可以在运行时生成。 – 我已经看到了一些Perl的build议,但作为作者指出$s->add_config将在每个请求后添加一个指令,从而导致内存泄漏, $r->add_config似乎不是一个可行的解决scheme。

请参阅DocumentRoot指令值

是否有一个选项将DocumentRoot分配的值作为虚拟主机声明中的variables引用? 例如: <VirtualHost 127.0.0.1:80> DocumentRoot /var/www/html/some/folder ModPagespeedLoadFromFileMatch "^http://([a-zA-Z0-9-.]+)/(.+)$" "%{DOCUMENT_ROOT}/\\2" </VirtualHost>

如何configuration与Internet站点IIS 8相同的服务器上的Intranet站点?

这是我有什么: Mydomain.com是我公开IP的一个logging。 Org.Mydomain.com CNAME指向相同的IP。 DefaultWebSite绑定到*在IIS中的IP地址,并具有默认的iisstart.htm页面。 Org.mydomain.com(IIS中的站点)绑定到IIS中的192.119.1.250,并与修改后的默认iisstart.htm页面进行主机绑定。 到目前为止,这完美地工作,并指向每个公共站点iisstart.htm。 当我添加一个名为intranet的新站点并将该站点的默认文档设置为portal.aspx时,出现问题我将“Intranet”站点绑定到192.119.1.250,并将主机名绑定到“intranet”。 添加Intranet站点后,mydomain.com会将我带到“intranet”站点中的portal.aspx,而不是wwwroot“Default Web Site”中的iisstart.htm。 我试图设置“内部网”给拒绝匿名用户,但是,但是默认站点被redirect的问题仍然存在。 有没有一种方法来设置这样的Intranet从我的局域网accessibile而不是从www? 我知道我可以将网站绑定到另一个没有外部映射的IP地址,并从该IP地址inputIP地址,而不是绑定到我的外部静态IP地址的IP地址,但是这看起来相当笨拙和kludgey。 我也没有configuration局域网侧的DNS或设置AD,因为我预计将擦除服务器和复位后,我映射了什么样的服务器环境将是。 我需要这样做,以便DNS有“互联网”的主机logging。 目前我正在使用本地的HOSTS文件。

Mac OS X Mountain Lion将www添加到localhost上的虚拟主机

我是新configuration我的Mac本地主机,所以这可能是一个愚蠢的问题。 我想设置一个虚拟主机,使http://localhost/domain指向http://domain.dev 。 在我的Apacheconfiguration中,我有本地主机指向我的网站文件夹。 这工作正常。 我可以浏览到本地主机/域。 在我的hosts文件中,我将domain.dev设置为127.0.0.1 。 在我的虚拟主机文件中,我设置了以下条目: <VirtualHost 0.0.0.0:80> DocumentRoot "/Users/username/Sites/domain/" ServerName domain.dev </VirtualHost> 但是当我在Apacheconfiguration中取消注释这一行时: Include /private/etc/apache2/extra/httpd-vhosts.conf 浏览器将“www”添加到domain.dev,然后找不到它。 我究竟做错了什么?

是否有可能写几个虚拟主机的共享configuration?

我的意图是避免了很多重复的代码。 基本上我想要做的是使用相同的SSLconfiguration块的几个VirtualHost条目… <IfModule mod_ssl.c> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options […]

在Redmine的单个apache虚拟主机中混合使用Redmine和自定义身份validation方法

我在Redmine上开发了一个插件,用于在接受Kerberos票据时使用Apache给出的REMOTE_USER自动login用户。 只要用户有企业login,这个插件就可以工作,但是一些开发人员可能来自其他开发公司,所以他们会使用本地的Redmine账户。 如果外部用户连接到平台,他将永远不会访问,因为Apache不会尝试再次loginKerberos。 第一个转向是复制没有Kerberos的Redmine实例,所以标准的Redmine的login页面处理了authentication。 这个解决scheme的工作,但“黑客”看看它是什么运行,我想避免这一点…对于这个问题,我分叉的Perl脚本Redmine SVNauthentication给予,并调整它做一个基于Redmine本地数据库。 一旦允许使用REMOTE_USER进入,我的红矿插件让他进入。 我仍然有两个相同的软件与两个不同的url,我不喜欢所以我正在寻找一个Kerberos身份validation本地身份validation回退在Apache上的实例。 我在互联网上发现,在这里我可以使用关键字AuthnProviderAlias或AuthBasicProvider。 看来我可以指定Kerberos,但不是我的“自定义”Perl脚本… 有没有人有一个想法? 一个我看不懂的页面?

nginx不尊重“root”指令

我正在用Ubuntu运行一个EC2实例,并试图为两个域名安装虚拟服务器,但没有运气,也找不到原因。 我的web文档位于/var/www/<domain> , www文件夹下的所有内容都属于www-data:www-data (目前只有两个index.htmls)。 我已经将站点configuration文件放在/etc/nginx/sites-available ,并将它们链接到sites-enabled了sites-enabled 。 网站configuration文件和符号链接也属于www-data:www-data以防万一。 我还将我的域名与服务器的公共IP地址添加到/etc/hosts ,当然在EC2控制台中启用了端口80。 这里是/etc/nginx/nginx.conf : user www-data www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 16; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log debug; gzip on; gzip_disable "msie6"; include /etc/nginx/sites-enabled/*; } 而其中一个网站的configuration(另一个不同的域名): server […]

我如何设置VirtualHosts指向同一IP上的两个端口到不同的ServerNames?

我已经build立了wiki软件Gitit在同一个Apache服务器(端口1848和4000)的两个独立的端口上运行。 我已经确认他们正在运行。 现在我想代理这两个网站更漂亮的url,如sitea.com和siteb.com。 两者的IP地址是相同的(比如12.34.56.78)。 我的服务器pipe理员已经添加了名称的DNS条目,但我似乎无法让我的Apacheconfiguration工作。 按照这里的说明 ,我试图build立一个像这样的VirtualHost: NameVirtualHost *:1848 <VirtualHost *:1848> ServerName sitea.com DocumentRoot /var/www/ RewriteEngine On ProxyPreserveHost On ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPassReverse / http://127.0.0.1:1848 RewriteRule ^(.*) http://127.0.0.1:1848$1 [P] ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On </VirtualHost> 而另一个类似的虚拟主机的另一端口4000.但是,当我然后发出service httpd restart ,我得到一个FAILED消息,当启动httpd,我的浏览器无法连接到sitea.com。 据我所知,我的httpd.conf的其余部分是分配的默认文件。 我的服务器正在RedHat Enterprise机器上运行。 我是Apache的新手,所以我确信这里有一个明显的答案,但在尝试对configuration进行各种调整后,我无法弄清楚我做错了什么。 编辑:问题是,我没有检查,以确保我的错误日志的path名是正确的。 […]