Я использую VPS с установленным VestaCP. Веб-панель работает через порт 8083
. Мне удалось заставить это работать panel.domain.com
однако некоторые URL-адреса на панели теряют функциональность при использовании поддомена.
Мне было интересно, как мне получить порт 8083
указать на domain.com/panel
.
Вот что я пробовал в своей конфигурации nginx:
server {
listen 108.xx.xx.xxx:443;
server_name domain.com;
root /var/www/ghost;
index index.html index.htm;
location /panel {
proxy_pass https://127.0.0.1:8083;
}
}
Если вы хотите получить доступ к панели управления VestaCP через domain.com/panel
, вы можете использовать эту конфигурацию nginx:
server {
listen 108.xx.xx.xxx:443;
server_name domain.com;
root /var/www/ghost;
index index.html index.htm;
location ~ /panel(.*)$ {
rewrite ^ https://domain.com:8083$1 permanent;
}
}
Это заставляет nginx отправлять 301 редирект для всех URI, начинающихся с /panel
к https://domain.com:8083
, поэтому вы можете получить доступ к панели через https://domain.com/panel
.
Однако все URL-адреса, которые создаются на панели VestaCP, по-прежнему указывают прямо на https://domain.com:8083
. Если вы хотите изменить их для начала https://domain.com/panel
, вам необходимо изменить VestaCP. VestaCP может не иметь возможности напрямую изменить домен, поэтому вам может потребоваться изменить код VestaCP напрямую, что я не рекомендую.
На порте 8083 работает ваша веб-панель, которая, как я полагаю, не основана на Nginx. Чтобы порт 8083 «указывал» на что-либо, вам нужно настроить поведение вашей веб-панели, а не Nginx.
Возможно, вам нужно обратное тому, о чем вы просите, чтобы Nginx прослушивал порт 80 или 433 и перенаправлял или прокси domain.com/panel
в веб-панель?
Вы также должны пояснить, что ваш язык «указывает на» будет либо «перенаправлять на», либо «прокси на».