У меня возникли проблемы с настройкой поддомена для 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-адрес пользователя.