Apache HTTP Server �汾2.2
�����������ֵĴ�����Apache 1.3�н�������ȫ����д�����ĵ���ͼ��ϸ����Apache�ڽ��ܵ���������ȷ��ʹ����һ���������������ŷ������µ�NameVirtualHost
ָ��İ����£��������������ñ�1.3����ǰ���ӼͰ�ȫ��
�����ֻ���������ܹ���������Ը�����������⣬������һЩʾ����
��<VirtualHost>
���ö�����һ����������(main_server)���а��������ж��塣������<VirtualHost>
���ö��ж���Ľ�����������(vhost)�������������
Listen
, ServerName
, ServerPath
, ServerAlias
ָ����Գ�����һ������������ε��κεط�������ÿ��ָ��Ḳ��ǰ����ֵ�ͬ������(���Ǹ�������������)��
������������Listen
ָ���Ĭ��ֵ��80������������û��Ĭ�ϵ�ServerPath
��ServerAlias
ָ��ֵ��ServerName
��Ĭ��ֵ���ɷ�������IP��ַ�ƶ϶�����
����������Listen
ָ�����������ܣ���һ�Ǿ���Apache��Ҫ������˿ڣ���������ض�����ָ������URI��ʹ�õĶ˿ںš�
�������������������������Ķ˿�����Ӱ�쵽Apache�ļ����˿ڡ�
ÿ��VirtualHost
ָ���еĵ�ַ�����Ը���һ����ѡ�Ķ˿ڡ����û�н����ر��ָ��������˿�Ĭ��Ϊ���������������һ��Listen
ָ��ָ����ֵ������Ķ˿�"*
"��ʾƥ�����ж˿ڡ�������һϵ�е�ַ(������DNS��ѯ��������A
��¼)ͳ��������������ַ��(address set)��
���û�ж�һ���ض���IP��ַʹ��NameVirtualHost
ָ���ô��һ��ʹ�������ַ����������������Ϊ����IP������������IP��ַҲ������ͨ���"*
"��ʾ��
���ʹ���˻���������������������ô������NameVirtualHost
ָ��Ϊ���������������������ָ��IP��ַ�������仰˵���������������ļ���ͨ��NameVirtualHost
ָ��ָ������������ӳ��(CNAME)��IP��ַ��
����ʹ�úܶ�NameVirtualHost
ָ�����ֱ��Ӧһ��NameVirtualHost
ָ�������ÿ���ض���"IP:port"����˵��ֻ��ʹ��һ��NameVirtualHost
ָ�
NameVirtualHost
��VirtualHost
ָ����ֵ�˳����Ҫ��ֻ�ж�Ӧͬһ��IP��ַ��VirtualHost
ָ��Ĵ��������Ҫ�ġ��������������������������ȫ��ͬ�ģ�
|
|
(Ϊ��ʹ���������ļ����߿ɶ��ԣ������Ƽ���ʹ����ߵĸ�ʽ)
�ڽ�����VirtualHost
ָ�������������������������������VirtualHost
ָ���е�һ�����ֶ�Ӧ�Ķ˿���ΪĬ�ϵ�Listen
�˿ڡ�
�������������ָ��ͬһ����ַ���Ļ���VirtualHost
ָ���е����������б�����õ���ServerAlias
ָ��һ���Ĵ���(�����ᱻ����ServerAlias
��串��)����ע�⣬������������Դ���Listen
ָ�����Ӱ�쵽�Ǹ���ַ���Ķ˿ںš�
�ڳ�ʼ���Ĺ����У�����Ϊÿһ��IP��ַ����һ���б������뵽һ��ɢ�б��С�������IP��ַ������һ��NameVirtualHost
ָ���еģ�����б����������ָ��Ϊ���IP��ַ�Ļ����������������������û����������������IP��ַ����ôNameVirtualHost
ָ������ԣ���������־�м�¼һ��������Ϣ�����ڻ���IP�������������ԣ����ɢ�б��е��б�Ϊ�ա�
��Ϊʹ���˸�Ч��ɢ���㷨��ʹ���������ʱ�������в���IP��ַ�Ŀ�����ú�С�����߸������迼�ǡ�����������Ϊֻ�����һ���˽���λ��ͬ��IP��ַ�����Ż���
����������ÿ���������г�ʼֵ���ر���������Щ��
ServerAdmin
, ResourceConfig
, AccessConfig
, Timeout
, KeepAliveTimeout
, KeepAlive
, MaxKeepAliveRequests
, ReceiveBufferSize
, SendBufferSize
ָ���ô�������������̳����ǵ�ֵ��(Ҳ����˵��ʹ�������������������ֵ��趨ֵ)�������ϣ����������ڽ���ÿ������������ʱ�䵱��һ��Ĭ��ֵ������Ľ�ɫ������Щ���������������еĶ����λ�����ؽ�Ҫ�ġ���������������������������������֮ǰ���Ѿ��������ˡ����Լ�ʹһ���������������ó�����������������ĺ��棬��Ҳͬ����Ӱ�쵽�������������á�
���û�ж������������е�ServerName
�������������httpd
����Ļ����������������档���ǽ���DNS���Ҵ�ServerName
���ص�IP��ַ��Ϊ����������ַ��(main_server address set)��
��û�ж���ServerName
������£�һ��������������������Ĭ�ϲ��ö�����������ʱ��VirtualHost
ָ�������ȳ��ֵĵ�ַ��
����ʹ����"_default_
"ͨ��������������������������������ͬ��ServerName
��
������������������ȷ����һ���ض�������ʹ���ĸ�����������
���ͻ��˵�һ�����ӵ�ʱ����ڲ���IPɢ�б��в��ҿͻ�����Ҫ���ӵ�IP��ַ��
�������ʧ��(û���ҵ���Ӧ��IP��ַ)����������Ķ˿��ִ���һ��"_default_
"������������ô�����������������������ŷ������û���ҵ�������"_default_
"������������ô��������������������ŷ���
�����ɢ�б���û���ҵ�IP��ַ��������һ��"NameVirtualHost *
"ָ����������Ķ˿ں���ƥ�䣬��ô����������������������������
������ҳɹ�(�ҵ��˶�Ӧ�����IP��ַ���б�)����һ�����ǿ�����Ҫ�������һ������IP��������������һ����������������������
������ص��б��������б�Ϊ�գ���ô���Ǵ���ľ���һ������IP���������������������������ֱ�ӽ��д�����������������衣
������ص������б����һ���������������Ľṹ����ô���Ǵ���ľ���һ��������������������������б����������������˳���������ļ�����ӦVirtualHost
ָ����ֵ�˳������ͬ�ġ�
����б��е�һ����������(Ҳ�����������ļ��е�һ��ָ�������IP��ַ����������)�Դ�������������ߵ����ȼ������ж�δ֪����������û��"Host:
"ͷ�������������д���
����ͻ������������ṩ��һ��"Host:
"ͷ����ô�����б��в��ҵ�һ��ServerName
��ServerAlias
������ϵ����������������������ŷ����������"Host:
"ͷ�п������˿ںţ���Apache���ǻ����յ�������Ǹ���ʵ�˿�������ƥ�䡣
����ͻ����ύ��һ��������"Host:
"ͷ��HTTP/1.0���������ǽ���ȷ�Ͽͻ�����Ҫ�����Ǹ������������������һ��ServerPath
��ͻ����ύ�������е�URI���Ӧ����ô�б��е�һ���������������������������ŷ��������
��������Ҳ�����Ӧ��������������ô��������ɿͻ������ӵ�IP��Ӧ���б��еĵ�һ��������Ķ˿���ͬ�������������ŷ�(��ǰ����)��
����IP���Ҷ�һ���ض���TCP/IP����ִֻ��һ�������ڳ־�����(KeepAlive)�У�ÿ���������һ�������IJ��ҹ��̡����仰˵��һ���ͻ�����һ���־������п�����λ�ڲ�ͬ�Ļ�������������������ҳ���������
��������ύ��URI��һ������URI�������е��������Ͷ˿ں��ֺ�����������ij��������������ϣ�����Ҳ����Ϊ�������ύ����ĵ�ַ�Ͷ˿��������ô������������/������/�˿�ǰ����Ĩ�������������URIΪ��Ӧ�����������������������ŷ�����������������������������URI������ԭ��������������Ϊһ������������
NameVirtualHost
ָ���ĵ�ַ���ķ��ʡ�ServerAlias
��ServerPath
��顣_default_
"����������NameVirtualHost
ָ����ֵ�˳����Ҫ��������ij��ָ���ĵ�ַ����˵����������������������˳���Dz��ܻ����ģ��������ļ��н��ȳ��ֵ�������������Ӧ�ĵ�ַ�����нϸߵ�����Ȩ��Host:
"ͷ�г��ֵĶ˿ںŽ�������ƥ�䡣Apache��һֱʹ�ÿͻ��������ӵ���ʵ�˿���Ϊƥ�䡣ServerPath
ָ������Ǻ�����ֵ�����һ��ServerPath
ָ���ǰ��ǰ�߽�����ƥ�䣬�����߽������ԡ�(�������۵���û��"Host:
"ͷ��������������ֿ��������)_default_
"���������ŻᲶ�����������������"_default_
"���������Ķ˿ں�(Ĭ��ֵ������Listen
ָ��)��ͻ��˷��������Ŀ�Ķ˿ں����ʱ���������Żᱻ����Ҳ����ʹ��ͨ���(���磺"_default_:*
")�������κζ˿ںŵ�������Ҳͬ��������"NameVirtualHost *
"������������_default_
"��������)ƥ���ʱ�Ż��������������ŷ������仰˵����������������û��ָ��IP��ַ�Ͷ˿ڵ�����(���Ǵ���һ��ƥ��˿ڵ�"_default_
"��������)��NameVirtualHost
ָ���ôһ��δ֪�Ļ�û��"Host:
"ͷ�������������"_default_
"����������������������ƥ�䡣VirtualHost
ָ����ʹ��DNS���ƣ��������ķ������ͻ�����DNS���������������ң�������������б������е������������ٰ�ȫ��в���������������ù����������������������������������ServerName
������ͻ���ҪΪÿ��������������DNS��ѯ����ΪDNS����ҳ��С���ɵĸ��ӣ�������Щ����ļ��ɣ�
VirtualHost
����֮ǰ(Ϊ�����ӿɶ���)�������ʹ�����������������ԱߵĶ���Ӱ�쵽���е������������������ⲻ�����֡�NameVirtualHost
��VirtualHost
����ŵ�һ���Ի�ø��õĿɶ��ԡ�ServerPaths
�Ǻ�һ��ServerPaths
��ǰ�����������������������������ȷ�������������ļ���"����ǰ�����ں�"(Ҳ����˵��"ServerPath/abc/def"Ӧ��������"ServerPath/abc"֮ǰ)��