全部产品
云服务器 ECS

ECS Linux 服务器如何配置网站以及绑定域名

更新时间:2017-08-01 14:51:03   分享:   

Nginx 服务绑定域名

以 YUM 安装的 Nginx 为例:

  1. 编辑 Nginx 的配置文件 /etc/nginx/nginx.conf,将默认的server {...}配置根据下图修改:

    nginx

    解释:

    1. 访问 www.123.com,会跳转到 /home/web1 目录;
    2. 访问 www.abc.com,会跳转到 /home/web2 目录。
  2. 重启 Nginx 服务即可。

Tomcat 服务绑定域名

  1. 编辑 Tomcat 配置文件 TOMCAT_HOME/conf/server.xml,其中 TOMCAT_HOME 是 Tomcat 的安装目录。

    default_web

    将上述内容修改为: web

    解释

    1. 访问 www.abc.com 时,默认跳转到 /data/wwwroot/default 目录。
    2. 访问 120.76.210.250 时,默认跳转到 /data/wwwroot/web 目录。
  2. 重启 Tomcat 服务器。

Apache 服务绑定域名

以一键安装包配置的 Apache 环境为例:

  1. 执行命令cd /alidata/server/httpd/conf/vhosts/进入站点配置文件目录。

  2. 执行命令vi aa.conf新建一个配置文件。

  3. 按下键盘上的字母 “I” 键,复制并粘贴以下内容:

    1. Order allow,deny
    2. Deny from all
    3. DocumentRoot /alidata/www/test
    4. ServerName www.test.com
    5. ServerAlias test.com
    6. ErrorLog "/alidata/log/httpd/test-error.log"
    7. CustomLog "/alidata/log/httpd/test.log"

    注意:您需要修改对应的日志名字以区分不同网站的日志信息。

  4. 执行命令/alidata/server/httpd/bin/apachectl restart重启 Apache 测试。

Apache 服务配置实现多域名跳转

假设程序目录为 /var/www/html,网站目录结构如下:

websitedirectory

  1. 开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。

    80

    documentroot

    实现效果

    • 使用 a.example.com 访问时,实际是访问 /var/www/html/a 目录。
    • 使用 b.example.com 访问时,实际是访问 /var/www/html/b 目录。
    • 使用 c.example.com 访问时,实际是访问 /var/www/html/c 目录。

Apache 服务配置二级域名

前提条件:您有一个泛域名解析的顶级域名,例如: aliyun.com。

  1. httpd.conf 中打开 mod_rewrite 模块;
  2. httpd.conf 的最后,添加以下内容:

    1. RewriteEngine on
    2. RewriteMap lowercase int:tolower
    3. RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
    4. RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
    5. RewriteCond ${vhost:%1} ^(/.*)$
    6. RewriteRule ^/(.*)$ %1/$1

    注意:/usr/local/etc/apache 是 Apache 服务器配置文件所在路径,您需要根据实际情况修改。

  3. 在这个所在路径的目录下新建一个文件: vhost.map。

    1. www.aliyun.com /usr/local/www/data-dist/aliyun
    2. bbs.aliyun.com /usr/local/www/data-dist/aliyunbbs
    3. anyname.aliyun.com /usr/local/www/data-dist/anyname

    注意:请注意保持域名+空格+绝对路径的格式。

  4. 在您的网站根目录 /usr/local/www/data-dist 下,创建对应目录:aliyun , bbs , any name 等目录。

    实现效果

    • 通过浏览器访问 www.aliyun.com 时,实际上访问的就是 /usr/local/www/data-dist/aliyun 目录下的文件。
    • 通过浏览器访问 bbs.aliyun.com 时,实际上访问的就是 /usr/local/www/data-dist/aliyunbbs 目录下的文件。

您可以通过修改 vhost.map 来增加、删除和修改您的二级域名和所指向的实际路径,不需要重启 Apache。

Apache 禁止未经许可的域名访问 ECS 上的网站

现象:ECS 实例上的网站被人恶意指向,譬如说您的 ECS 的 IP 地址为 123.123.123.123,正常服务的域名为 www.abc.com, 恶意用户使用其他的域名,如,www.fake.com, 指向到了 123.123.123.123,此时客户端访问 www.fake.com 时会出现您的网站内容。

场景

Apache 版本号 ECS 实例上的网站
2.2.15 http://t1.huigher.cn/
http://p1.huigher.cn/

解决:通过 Apache 的虚拟主机可以变通的解决这个问题。

  1. 打开 Apache 的配置文件,CentOS 下默认位置在 /etc/httpd/conf/httpd.conf (以实际 Apache 配置文件路径为准),在其中加入以下内容:

    1. 加入代码NameVirtualHost *:80,告知 Apache 使用了基于 host 名的虚拟主机功能:

    2. 加入以下代码加入以下代码。

      1. <ViretualHost *:80>
      2. DocumentRoot /var/www/html/error/
      3. ServerName *
      4. ErrorLog logs/dummy-host.example.com-error_log
      5. CustomeLog logs/dummy-host.example.com-access_log common
      6. </ViretualHost>

      注意:当客户端携带的 host 名不在之后设置的网站域名内时,会指向一个 403 错误页面告知用户域名非法,其中 DocumentRoot 是放置错误提示页面的目录,在下面可以放置一个简单的 html 页面提示用户正在访问非法域名。

    3. 加入以下代码。

      1. <VirtualHost *:80>
      2. ServerAdmin p1@huigher.cn
      3. DocumentRoot /var/www/html/another/
      4. ServerName p1.huigher.cn
      5. ErrorLog logs/p1.huigher.cn-error_loh
      6. CustomLog logs/p1.huigher.cn-access_log common
      7. </VirtualHost>
      8. <VirtualHost *:80>
      9. ServerAdmin t1@huigher.cn
      10. DocumentRoot /var/www/html/
      11. ServerName t1.huigher.cn
      12. ErrorLog logs/t1.huigher.cn-error_loh
      13. CustomLog logs/t1.huigher.cn-access_log common
      14. </VirtualHost>

      注意:这一步告知 Apache 合法的网站主机头,您需要根据实际情况修改这个代码块内容,此处该实例中加入了两个网站,分别是 p1.huigher.cn 和 t1.huigher.cn。

  2. 重启 Apache 后配置生效。

  3. 若您希望其他域名访问您的网站时直接返回 403 错误,可以在第二步中将代码改为以下形式:

    1. <VirtualHost *:80>
    2. DucumentRoot /var/www/html/error/
    3. ServerName *
    4. <Location>
    5. Order Allow, Deny
    6. Deny from all
    7. </Location>
    8. ErrorLog logs/dummy-host.example.com-error_log
    9. CustomLog logs/dummy-host.example.com-access_log commom
    10. </VirtualHost>
  4. 重启 Apache 后配置生效。

如果问题还未能解决,您可以到阿里云社区进行免费咨询,或联系云市场商家寻求帮助。

本文导读目录
本文导读目录
以上内容是否对您有帮助?