apache虚拟主机配置(壹)

曾经一度困扰我的一个问题就是,对于同一个服务器,上面绑定着几个域名,我们实验室的就是这样。几个哥们的博客地址都指向同一个IP,那么我本地要去访问A域名的时候,DNS会把请求的域名A数据包解析成目标服务器的IP,然后本地再去发送包给DNS解析出来的IP,接着通信就建立。但是不明白的是,假设服务器上有好几个域名,比如是A,B,C。但是DNS解析出来的肯定是一个IP,那么服务器是怎么样把请求的包区分开来是请求哪个域名的呢?这两天配置了下apache的虚拟主机,总算了解了些。

配置环境:CentOS

配置多个域名

/var/www/下面是apache默认访问的根目录,默认情况下是范文html目录。现在在/var/www/下面建立两个新的目录 fire,fox,里面加两个index.html,内容随便编辑好了。

$ mkdir -p /var/www/fire && echo “www.fire.com” > index.html

$ mkdir -p /var/www/fox && echo “www.fox.com” > index.html

接着就是要在apache配置文件中修改,

$ vim /etc/httpd/conf/httpd.conf

#NameVirtualHost *:80
NameVirtualHost *:80 * 允许所有IP访问

<VirtualHost *:80>
ServerAdmin webmaster@fire.com
DocumentRoot /var/www/fire #访问目录
ServerName www.fire.com #指定域名
ErrorLog logs/fire-com-error_log
CustomLog logs/fire-com-access_log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@fox.com
DocumentRoot /var/www/fox 
ServerName www.fox.com
ErrorLog logs/fox-com-error_log
CustomLog logs/fox-com-access_log common
</VirtualHost>

上面的配置指定了两个外加的域名,www.fire.com和www.fox.com,都指向了一个IP,任何IP都能访问,脚本格式就是像上面的进行写。这里也可以编辑不同IP绑定不同的域名,也可以在这里指定IP访问指定的域名!写完apache的配置文件之后,一定要把apache重新启动。

$ /etc/init.d/httpd restart

如果想在本地测试,可以修改本地的DNS配置文件修改,主要修改/etc/hosts文件。在这个配置文件中,可以将本机的IP和你的域名绑定,也可以把127.0.0.1和域名访问,这两者都能测试。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题:APACHE虚拟主机配置,以下是回答: 在Apache配置虚拟主机需要在httpd.conf或者其他的配置文件中添加如下代码: ``` <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/apache2/htdocs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "/usr/local/apache2/logs/dummy-host.example.com-error_log" CustomLog "/usr/local/apache2/logs/dummy-host.example.com-access_log" common </VirtualHost> ``` 其中`*`表示监听所有的网络接口,`:80`表示监听80端口,`ServerAdmin`设置管理员邮箱,`DocumentRoot`设置虚拟主机的目录,`ServerName`设置虚拟主机名字,`ServerAlias`设置虚拟主机别名,`ErrorLog`和`CustomLog` 分别设置虚拟主机的错误日志和访问日志。 如果需要配置HTTPS,则需要在虚拟主机配置中添加以下代码: ``` <VirtualHost *:443> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/usr/local/apache2/htdocs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "/usr/local/apache2/logs/dummy-host.example.com-error_log" CustomLog "/usr/local/apache2/logs/dummy-host.example.com-access_log" common SSLEngine on SSLCertificateFile "/path/to/www.example.com.cert" SSLCertificateKeyFile "/path/to/www.example.com.key" SSLCACertificateFile "/path/to/www.example.com.chain" </VirtualHost> ``` 在HTTPS虚拟主机配置中,需要添加以下代码: `SSLEngine on`表示开启SSL加密引擎,`SSLCertificateFile`指定证书位置,`SSLCertificateKeyFile`指定私钥位置,`SSLCACertificateFile`指定证书链位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值