Apache always serving first virtual host

Я видел, как это спрашивали несколько раз, но на удивление ни одно решение у меня не помогло:

  • Да, я использовал "sudo a2ensite com.secondwebsite.conf"
  • Да, у меня есть использовал "sudo /etc/init.d/apache2 reload"
  • Да, я использовал "sudo /etc/init.d/apache2 restart"
  • Да, я попытался поместить оба виртуальных хоста в один файл (/ etc / apache2 / sites-available / default), добавив поверх него «NameVirtualHost *: 80» и удалив его из «/etc/apache2/ports.conf"
  • Да, я использовал« sudo chmod 777 / var / www / secondwebsite "

Что бы я ни делал, secondwebsite.com продолжает показывать firstwebsite.com. Кто-нибудь знает, что может быть причиной этого?

Вот мой "/ etc / apache2 / sites-available / default"

    <VirtualHost *:80>
            ServerAdmin admin@gmail.com
            ServerName firstwebsite.com
            ServerAlias www.firstwebsite.com

            DocumentRoot /var/www
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order allow,deny
                    allow from all
            </Directory>

            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <Directory "/usr/lib/cgi-bin">
                    AllowOverride None
                    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </Directory>

            ErrorLog ${APACHE_LOG_DIR}/error.log

            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn

            CustomLog ${APACHE_LOG_DIR}/access.log combined

            Alias /static /home/user/firstwebsite/firstwebsite/static
            <Directory /home/user/firstwebsite/firstwebsite/static>
                    Order allow,deny
                    Allow from all
            </Directory>

            Alias /media /home/user/firstwebsite/firstwebsite/site_media/media
            <Directory /home/user/firstwebsite/firstwebsite/site_media/media>
                    Order allow,deny
                    Allow from all
            </Directory>

            <Directory /home/user/firstwebsite/firstwebsite>
                    Order allow,deny
                    Allow from all
            </Directory>

            WSGIDaemonProcess firstwebsite
            WSGIProcessGroup firstwebsite
            WSGIScriptAlias / /home/user/firstwebsite/firstwebsite/wsgi.py
    </VirtualHost>

Мой "/etc/apache2/sites-available/com.secondwebsite.conf"

    <VirtualHost *:80>
            ServerAdmin admin@gmail.com
            ServerName secondwebsite.com
            ServerAlias www.secondwebsite.com

            DocumentRoot /var/www/secondwebsite/public_html
            ErrorLog ${APACHE_LOG_DIR}/secondwebsite_error.log
            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn

            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

Мой "/etc/apache2/ports.conf"[12200 providedResult of sudo / usr / sbin / apache2ctl -S

    VirtualHost configuration:
    wildcard NameVirtualHosts and _default_ servers:
    *:80                   is a NameVirtualHost
             default server firstwebsite.com (/etc/apache2/sites-enabled/000-default:1)
             port 80 namevhost firstwebsite.com (/etc/apache2/sites-enabled/000-default:1)
             port 80 namevhost secondwebsite.com (/etc/apache2/sites-enabled/com.secondwebsite.conf:1)
    Syntax OK
1
задан 4 July 2017 в 12:55
2 ответа

Что касается моего опыта, это может происходит в следующей ситуации:

firstsite.com имеет dns 1.2.3.4 и ip в vhost 1.2.3.4 или *

secondsite.com имеет dns 1.2.3.4, а ip в vhost - 1.2.3.5.

Оба 1.2.3.4 и 1.2.3.5 являются IP-адресами проблемного сервера, и apache прослушивает оба IP-адреса.

НО что касается нескольких предоставленных вами журналов и деталей, трудно найти, так ли это на самом деле.

0
ответ дан 3 December 2019 в 23:28

Псевдоним вашего сервера, похоже, не работает, поскольку он не сообщается командой / usr / sbin / apache2ctl -S , поскольку он должен быть похож на

VirtualHost configuration:
    wildcard NameVirtualHosts and _default_ servers:
    *:80                   is a NameVirtualHost
             default server firstwebsite.com (/etc/apache2/sites-enabled/000-default:1)
             port 80 namevhost firstwebsite.com (/etc/apache2/sites-enabled/000-default:1)
                     alias www.firstwebsite.com
             port 80 namevhost secondwebsite.com (/etc/apache2/sites-enabled/com.secondwebsite.conf:1)
                     alias www.secondwebsite.com
    Syntax OK

Также укажите свою версию Apache.

Также нет конфигурации «Каталог» для / var / www / secondwebsite / public_html на втором виртуальном хосте. Попробуйте поставить один.

1
ответ дан 3 December 2019 в 23:28

Теги

Похожие вопросы