Али облако ECS Linux с помощью веб-сайт и экземпляра службы конфигурации связывающего домена

Nginx сервис-связывающий домен

Nginx YUM установить пример:

  1. Выполнение команды  vi /etc/nginx/nginx.conf для редактирования файла конфигурации Nginx, по умолчанию server {...} изменения конфигурации для следующих действий :

     
    1. server {
    2. listen 80 default_server;
    3. server_name www.chinaobd2.com;
    4. root /home/web1;
    5. location / {
    6. }
    7. error_page 404 /404.html;
    8. location = /40x.html {
    9. }
    10. error_page 500 502 503 504 /50.xhtml;
    11. location = /50x.html {
    12. }
    13. }
    14. server {
    15. server_name www.abc.com;
    16. root /home/web2;
    17. location / {
    18. }
    19. error_page 404 /404.html;
    20. location = /40x.html {
    21. }
    22. error_page 500 502 503 504 /50x.html;
    23. location = /50x.html {
    24. }
    25. }
    • При доступе к www.chinaobd2.com, прыгать в / дома / каталог web1.
    • При доступе к www.ecobd2.com, прыгать в / дома / каталог WEB2.
  2. Запуск  , nginx -s reload чтобы перезапустить службу Nginx.

Tomcat сервис-связывающий домен

  1. Выполнить команды  vi /etc/TOMCAT_HOME/conf/server.xmlдля редактирования файла конфигурации Tomcat.

    default_web

    Выше изменяется следующим образом:

     
    1. <Host name="localhost" appBase="webapps" unpackWARs="true" autoPlay="true">
    2. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    3. </Host>
    4. <Host name="120.76.210.250" appBase="/data/wwwroot/web" unpackWARs="true" autoPlay="true">
    5. <Content path="" docBase="/data/wwwroot/web" debug="0" reloadable="false" crossContext="true" />
    6. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="120.76.210.250_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    7. </Host>
    8. <Host name="www.abc.com" appBase="/data/wwwroot/default" unpackWARs="true" autoPlay="true">
    9. <Content path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true" />
    10. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="www.abc.com_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    11. </Host>
    • При доступе к www.chinaobd2.com, прыгайте / данные / Wwwroot / каталог по умолчанию по умолчанию.
    • 120.76.210.250 доступа, прыгать по умолчанию в / данных / Wwwroot / каталог веб.
  2. Запуск  bin/shutdown близко службы Tomcat, а затем запустить  , bin/startup чтобы перезапустить службу Tomcat.

Apache сервис-связывающий домен

В конфигурации пакета Apache установки ключевой среды в качестве примера:

  1. Бегите  cd /alidata/server/httpd/conf/vhosts/ в каталог профиля сайта.

  2. Выполнение команды  vi aa.conf создать новый профиль, нажмите букву на клавиатуре «Я» ключ, скопируйте и вставьте следующее:

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

    Примечание: Вы должны изменить соответствующее имя журнала, чтобы различать разные сайты информации журнала.

  3. Запуск  , /alidata/server/httpd/bin/apachectl restart чтобы перезапустить службу Apache.

Конфигурация службы Apache многодоменные Перейти

Предположим, что каталог программы / вар / WWW / HTML, структура веб-каталог выглядит следующим образом:

каталог веб-сайт

  1. Откройте виртуальные хосты, конфигурацию виртуального хоста Apache, соответствующую соответствующий каталог.

    80

    DocumentRoot

    Достижение результатов:

    • При доступе с помощью a.example.com, на самом деле доступ / уага / WWW / HTML / каталога.
    • 使用 b.example.com 访问时,实际是访问 /var/www/html/b 目录。
    • 使用 c.example.com 访问时,实际是访问 /var/www/html/c 目录。

Apache 服务配置二级域名

前提条件:您有一个泛域名解析的顶级域名,例如: chinaobd2.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. 执行命令 vi vhost.map 新建文件,复制并粘贴以下内容:

     
    1. www.chinaobd2.com /usr/local/www/data-dist/aliyun
    2. blog.ecobd2.com /usr/local/www/data-dist/aliyunbbs
    3. tui21.com /usr/local/www/data-dist/anyname

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

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

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

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

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

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

通过 Apache 的虚拟主机可以变通的解决这个问题。以如下场景为例:

Apache 版本号 ECS 实例上的网站
2.2.15 https://www.chinaobd2.com/
https://www.ecobd2.com/
  1. 打开 Apache 的实际配置文件,如执行命令 vi /etc/httpd/conf/httpd.conf 打开 CentOS 的 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 [email protected]
      3. DocumentRoot /var/www/html/another/
      4. ServerName www.chinaobd2.com
      5. ErrorLog logs/p1.huigher.cn-error_loh
      6. CustomLog logs/p1.huigher.cn-access_log common
      7. </VirtualHost>
      8. <VirtualHost *:80>
      9. ServerAdmin [email protected]
      10. DocumentRoot /var/www/html/
      11. ServerName www.ukobd2.com
      12. ErrorLog logs/t1.huigher.cn-error_loh
      13. CustomLog logs/t1.huigher.cn-access_log common
      14. </VirtualHost>

      注意:这一步告知 Apache 合法的网站主机头,您需要根据实际情况修改这个代码块内容,如示例中的 www.ukobd2.com 和 www.ecobd2.com。

  2. 执行命令 /etc/httpd/bin/apachectl restart 重启 Apache 服务。

若您希望其他域名FVDI J2534访问您的网站时直接返回 403 错误:

    1. 修改第二步中的代码为以下形式:

       
      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>
    2. 执行命令 /etc/httpd/bin/apachectl restart 重启 Apache 服务。

рекомендация

отwww.cnblogs.com/cannovo/p/10965457.html