нужно преобразовать суб домена подкаталога как abc.example.com => example.com/abc, я прочитал Nginx форум и попытался прокси пройти с конфигой следующим образом:NGINX: субдомно в подкаталог без перенаправления
abc.example.com Nginx конфигурационный файл:
location/{
proxy_pass http://example.com/abc;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
example.com Nginx конфигурационный файл:
upstream example {
least_conn;
server ip_addr_1:port;
server ip_addr_2:port;
}
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443;
server_name example.com
root /var/www/test/public_html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/nginx/ssl/example.com.chained.crt;
ssl_certificate_key /etc/nginx/ssl/example.key;
location/{
proxy_pass http://example;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
конфигурационный файл работает, но он открывает пустую страницу с ошибкой консоли как:
Uncaught SyntaxError: Unexpected token <
Я понимаю, что для звонков как/API и/CSS, то есть быть в сделано следующим образом
example.com/api
example.com/css
и не с abc.example.com:
abc.example.com/api
abc.example.com/css
Так после того, как я изменил файл конфигурации, как описано выше, я получаю домашнюю страницу example.com, если я попытаюсь открыть abc.example.com, а не получать example.com/abc.
Общая: Нужна помощь, чтобы получить поддоменов сопоставляется с Subpath подкаталог/без чейнинга URL-адрес (перенаправление выключен) и/API и/CSS должен быть вызван в верхней (корневой) домен.
Благодарим вас за то, что вы прочитали весь вопрос с терпением и поможете с проблемой!
P.S. Я изменил конфигурацию следующим образом: paste. Мы можем получить сопоставление с URI, сохраненным как abc.example.com, но не можем избавиться от/abc. Таким образом, появляется URI: abc.example.com/abc, вместо этого нам нужно, чтобы он был просто abc.example.com. Короче говоря, нужна помощь, чтобы избавиться от этого дополнительного /abc от URL-адреса, отображаемого клиенту.
Однако я должен добавить, что вы, вероятно, хотите, чтобы сервер в/CSS статически от Nginx. – cnst
Спасибо! Я попробовал с указанной вами конфигурацией. Ссылка abc.example.com по-прежнему выводит меня на домашнюю страницу example.com вместо example.com/abc, что мы и передали в ** прокси-проходе **. – manishrw
это должна быть ваша конфигурация вверх по течению, которая вызывает проблемы; вы можете захотеть использовать дополнительный модуль http://nginx.org/r/sub_filter, чтобы все ссылки были изменены. – cnst