首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache将新站点添加为服务器上的子域。

Apache将新站点添加为服务器上的子域。
EN

Server Fault用户
提问于 2021-03-31 14:15:33
回答 1查看 2K关注 0票数 1

我有两个独立运行在VPS上的站点,我们称之为site1和site2。

它们分别位于/var/www/html/site1/var/www/html/site2

我还没有域名,但我可以使用服务器IP访问我的站点,假设它的地址是8.8.8.8

我目前对每个站点都有两个单独的apache配置文件。

这两个站点都配置如下,只有DocumentRoot和第二个Directory块不同。

代码语言:javascript
运行
复制
    ServerName 8.8.8.8
    DocumentRoot /var/www/html/site
    
        Options FollowSymLinks
        AllowOverride All
    
    
        AllowOverride All
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

我可以通过启用一个和禁用另一个来访问我的两个站点。

我想做的是让site1在http://8.8.8.8上,在http://site2.8.8.8.8上有测试站点。

我尝试了以下配置,但没有成功

代码语言:javascript
运行
复制
    ServerName 8.8.8.8
    DocumentRoot /var/www/html/site1
    
        Options FollowSymLinks
        AllowOverride All
    
    
        AllowOverride All
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined



    ServerName site2.8.8.8.8
    DocumentRoot /var/www/html/site2
    
        Options FollowSymLinks
        AllowOverride All
    
    
        AllowOverride All
    

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

我需要DNS记录才能实现我的目标吗?

如果没有,我应该如何配置apache和VPS,以便根据IP前缀使用sit1或site2正确地重定向?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-03-31 14:26:40

基于名称的虚拟主机使用web浏览器作为HTTP请求的一部分发送的主机名,以确定将使用哪个VirtualHost来响应请求。

通常,您需要为此设置DNS,并将site1.example.comsite2.example.com指向您的set服务器的IP地址。

对于单个用户/开发人员,可以通过将这两个主机名添加到主机文件来避免注册域和设置DNS记录。

如果您有多个IP地址可用(现在在IPv4世界中很少,但通常在IPv6中),则可以将每个Apache VirtualHost条目绑定到不同的IP地址,并且不需要DNS或主机文件来提供不同的内容,只需访问正确的IP地址即可。

https://httpd.apache.org/docs/current/vhosts/name-based.html#namevip

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1058973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档