Назад | Перейти на главную страницу

Проблема поддомена Nginx / Apache

У меня возникли проблемы с настройкой поддомена для client.lipsmack.co.uk. Я установил запись DNS A, чтобы указать на мой IP-адрес, и я создал информацию о прокси и vhost для nginx и apache, но я получаю ответ сервера, который не найден, когда я перехожу к адресу.

Конфигурация Nginx выглядит так:

upstream backend {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name clients.lipsmack.co.uk;

    location / {
        proxy_pass http://backend;
        include /etc/nginx/proxy.conf;
    }
}

И файл Apache гласит:

<VirtualHost *:8080>
    ServerName clients.lipsmack.co.uk

    <Directory /path/to/wsgi/parent/dir/>
        Order deny,allow
        Deny from all
    </Directory>

    WSGIDaemonProcess clients.lipsmack.co.uk user=www-data group=www-data threads=25
    WSGIProcessGroup clients.lipsmack.co.uk

    WSGIScriptAlias / /path/to/wsgi/file/
</VirtualHost>

Я действительно не понимаю, почему это не работает. Кто-нибудь может пролить свет?

Спасибо.

Редактировать: Эта проблема, похоже, разрешилась сама собой, хотя я не знаю, как это сделать. Я изменил запись A на CNAME, которая ничего не сделала, поэтому я вернул ее обратно. После нескольких переписываний конфигурационных файлов, наконец, все заработало, хотя я почти уверен, что не сделал ничего по-другому. Мне было бы интересно услышать мнение людей по этому поводу ...

Попробуйте эту конфигурацию:

location / {
    proxy_pass http://backend;
    proxy_set_header  Host       $host;
    include /etc/nginx/proxy.conf;
}

обратите внимание на добавление proxy_set_header Host $host который перенаправит заголовок хоста в apache

Вам также может потребоваться пройти

proxy_set_header   X-Forwarded-For $remote_addr;

в apache, а затем обработайте его, чтобы получить IP-адрес пользователя.