Зображення URL-адреси на субдомен (NGINX)


1

Я знаю, що це запитання було задано раніше, але я маю проблеми з його тиражуванням на своєму сервері.

Те, що я намагаюся зробити, це коли користувач переходить до цього medicine.example.com, піддомен повинен бути відображений у example.com/sites/medicine. Отже, URL, яку бачить користувач, є medicine.example.com. index.php знімається через php.

В ідеалі, рішення було б на основі символів підстановки / регулярних виразів, таким чином, щоб більше ніж просто medicine.example.comможна було відобразити URL-адресу

Наведений нижче код дає мені 502 bad gatewayпомилку.

server {
    listen      80;
    listen      443 ssl;
    server_name medicine.example.com;

    location / {
        rewrite             ^([^.]*[^/])$ $1/ permanent;
        proxy_pass_header   Set-Cookie;
        proxy_pass          https://example.com/sites$request_uri;
    }
}

Ви хочете перенаправлення HTTP або внутрішнє перезапис? Є чи example.comподаний той же веб - сервер?
mgorven

привіт @mgorven, я шукаю внутрішнє переписування, я хочу зберегти субдомен як URL-адресу, так, example.com також обслуговується тим же веб-сервером
tim peterson

Відповіді:


3

Ви не хочете, щоб проксі-запити на той же веб-сервер, це вимагає більше накладних витрат. Я б налаштував єдиний віртуальний хост для обох доменів і використовував ifоператор, щоб переписати запити лише на субдомен.

server {
    server_name example.com medicine.example.com;

    if ($host = "medicine.example.com") {
        rewrite . /sites/medicine$request_uri;
    }

    ...
}

Хм, medicine.example.com переспрямовує на example.com незалежно від того, чи я поставив ваш rewriteстан. Отже, схоже, у мене є проблема десь в моєму nginx.conf. Ось мій повний nginx.conf, якщо це корисно . Також, proxy requestте саме, що internal rewrite?
Тім петерсон

@timpeterson Тоді ще щось у вашому конфігурації переспрямовується. Також перевірте /etc/nginx/sites-enabled/конфігурацію. Проксі-сервер - це не те саме, що переписувати - проксі-сервер слід використовувати лише при переадресації на інший веб-сервер.
mgorven

@mgovern дякую, мій /etc/nginx/sites-enabledпорожній, тому я впевнений, що мій nginx.conf - це єдине, що сприяє. Були б проти поглянути на файл nginx.conf, який я включив як суть? gist.github.com/tim-peterson/5136554
tim peterson

1
@timpeterson Я не можу помітити нічого, що могло б це спричинити. Спробуйте коментувати rewriteзаяви, поки це не перестане робити це.
mgorven
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.