Apache下配置虚拟主机后,主机却不能访问了

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

Apache下配置了基于名称的虚拟主机后,不管用IP地址还是主机的名字都只能访问第一个虚拟主机. :em13: :em14:

查了些资料,发现大多数是增加了一个跟主机名字一样的虚拟主机配置来解决的,因为我在主机的配置中,有ssl以及php的相关配置,而在虚拟主机中没有.

配置了虚拟主机后,就只能用虚拟主机来访问apache了吗?

nemo 回复于:2004-06-21 09:10:54

又试了一下,如果用https://主机名或者用https://IP地址的话,出现apache默认的主页面

用https://虚拟主机名的话,访问的不是虚拟主机,而是跟上边用主机名访问的效果一样

五花小鱼 回复于:2004-06-21 09:28:21

请把你的配置文件贴出来!

twodog29 回复于:2004-06-21 09:32:25

我前两天刚配了一下虚拟主机(基于名称),和你说一下我的实验结果吧

如果有3个站点目录,WWW为默认站点,WWW1为虚拟主机1(在配置文件中第一个虚拟主机),WWW2为虚拟主机2

如果配置了虚拟主机,直接输入https://IP,访问到的是WWW1。如果是输入域名,则两个虚拟主机都可以访问(必须设置好DNS)

如果把虚拟主机的配置注释掉,输入https://IP则访问WWW默认站点。

nemo 回复于:2004-06-21 10:09:26

[quote:1a903a0fe7="twodog29"]我前两天刚配了一下虚拟主机(基于名称),和你说一下我的实验结果吧

如果有3个站点目录,WWW为默认站点,WWW1为虚拟主机1(在配置文件中第一个虚拟主机),WWW2为虚拟主机2

如果配置了虚拟主机,直接输入https://..........[/quote:1a903a0fe7]

没错,我现在就是这种情况

我想知道,不用https就不能访问www了吗??

twodog29 回复于:2004-06-21 14:01:07

等高手来解决吧

我想可能是一旦建立了虚拟主机WWW1和WWW2,就只能访问虚拟主机,默认站点WWW就不能访问了

如果的确需要访问WWW,你可以再设置一个虚拟主机啊,把WWW设置为虚拟主机的第一个

geel 回复于:2004-06-22 09:06:56

配置文件贴上来

nemo 回复于:2004-06-22 16:38:48

这是配置文件有关虚拟主机的部分

### Section 3: Virtual Hosts

NameVirtualHost 192.168.0.4

<IfDefine SSL>

AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl .crl

</IfDefine>

<IfModule mod_ssl.c>

SSLPassPhraseDialog builtin

SSLSessionCache dbm:/usr/local/apache/logs/ssl_scache

SSLSessionCacheTimeout 300

SSLMutex file:/usr/local/apache/logs/ssl_mutex

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

SSLLog /usr/local/apache/logs/ssl_engine_log

SSLLogLevel info

</IfModule>

<IfDefine SSL>

<VirtualHost _default_:443>

DocumentRoot "/usr/local/apache/htdocs"

ServerName nemo.test.com

ServerAdmin root@localhost

ErrorLog /usr/local/apache/logs/error_log

TransferLog /usr/local/apache/logs/access_log

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt

SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">

SSLOptions +StdEnvVars

</Files>

<Directory "/usr/local/apache/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SetEnvIf User-Agent ".*MSIE.*"

nokeepalive ssl-unclean-shutdown

downgrade-1.0 force-response-1.0

CustomLog /usr/local/apache/logs/ssl_request_log

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

</IfDefine>

<VirtualHost test1.test.com>

ServerAdmin root@localhost

DocumentRoot /usr/local/apache/htdocs/test1

ServerName test1.test.com

ErrorLog logs/test1-error_log

CustomLog logs/test1-access_log common

</VirtualHost>

<VirtualHost test2.test.com>

ServerAdmin root@localhost

DocumentRoot /usr/local/apache/htdocs/test2

ServerName test2.test.com

ErrorLog logs/test2-error_log

CustomLog logs/test2-access_log common

</VirtualHost>

geel 回复于:2004-06-23 00:13:49

<VirtualHost _default_:443>

改为

<VirtualHost _default_:*>

nemo 回复于:2004-06-23 08:42:27

一样啊 访问nemo.test.com还是只能用https的方式

用http的话,访问的还是第一个虚拟主机test1.test.com

geel 回复于:2004-06-23 15:27:05

那把80根443分开段写呢

nemo 回复于:2004-06-30 08:58:50

真的是配置了虚拟主机以后,主机就不能访问了吗??

geel 回复于:2004-06-30 09:13:30

把_default_:80段放在最后呢,或者干脆配一个main server

nemo 回复于:2004-06-30 15:39:21

那不是还相当于又配了一个虚拟主机,只不过主目录用的是主机的目录而已吗??

geel 回复于:2004-06-30 18:53:22

web服务器其实没有主机和虚拟主机的概念。当只有一个站点的时候,称之为主机,当运行多个站点的时候,所有站点都可以当做虚拟主机对待。

我的方法是配置一个主机头名为空的vhost来当作main server(default)

bend 回复于:2004-07-01 11:01:21

如果你设了虚拟主机,原来的apache的默认站点是看不到的,你也要给原来的默认站点设一个虚拟主机,而且用IP地址访问apache中的虚拟主机时,默认出现第一个虚拟主机。

nemo 回复于:2004-07-02 09:05:40

哦 这样 谢谢两位

我增加了一个这样的虚拟主机

<VirtualHost 192.168.0.4>

DocumentRoot /usr/local/apache/htdocs/

</VirtualHost>

hzbiz 回复于:2004-07-05 10:13:44

現在可以了嗎?

snssh 回复于:2004-07-06 00:52:04

hello

snssh 回复于:2004-07-06 00:52:41

hello

linuxsky 回复于:2004-07-06 08:23:04

这办法我一直是这样用的。

哈哈。。就是给自己的默认站点。设置成虚拟主机。。

cqf820 回复于:2005-06-08 14:36:01

:o :arrow: :P :!: :em11: [b:8f67dbcf2a][/b:8f67dbcf2a]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航