Рейтинг:0

настройка обратного прокси-сервера для google.com при сохранении предыдущего веб-сервиса, размещенного на apache

флаг cn
сервер {
    слушать 80;
    имя_сервера пример.com;
    место расположения / {
        переписать ^/(.*)$ https://$host$1 навсегда;
    }
}

сервер {
    слушать 443 ssl;
    имя_сервера пример.com;

    ssl_certificate /etc/ssl/example.crt;
    ssl_certificate_key /etc/ssl/example.key;

    ssl_session_cache общий: SSL: 1 м;
    ssl_session_timeout 5 м;

    место расположения / {
        proxy_pass https://www.google.com;
        proxy_set_header Хост www.google.com;
        proxy_set_header Реферер https://www.google.com;

        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Accept-Encoding "";
        proxy_set_header Accept-Language $http_accept_language;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        sub_filter google.com example.com;
        sub_filter_once выключен;
    }
}

Я пытаюсь использовать это, но 0.0.0.0:80 используется apache, но вопрос в том, как я могу отменить прокси-запрос от bi.example.com к google.com, при этом webservice.example.com перенаправляет запрос к example.com, на котором размещен веб-сервис API. Я не думаю, что это можно сделать, но я, вероятно, ошибаюсь.

Я получил эту ошибку, когда пытался запустить nginx:

28 декабря 10:52:22 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 не удалось (98: адрес al...use)
28 декабря 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:80 не удалось (98: адрес alr...use)
28 декабря 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 не удалось (98: адрес al...use)
28 декабря 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:80 не удалось (98: адрес alr...use)
28 декабря 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 не удалось (98: адрес al...use)
28 декабря 10:52:24 example.com nginx[27291]: nginx: [emerg] по-прежнему не удалось связать()

Я проверил порты, и он использовался httpd, что соответствует Apache.

Чтобы объяснить далее, у меня есть два перенаправления CNAME на example.com, и я хочу перенаправить на страницу, отличную от Google, но это всего лишь пример, поэтому, поскольку оба CNAME перенаправляют на один и тот же URL-адрес, я не думаю, что это возможно, а перенаправление с URL-адреса на другой URL-адрес для предоставления SSL-сертификата по другой ссылке, кроме Google.com, невозможно, если Apache использует порт 80. Помимо использования для этого нового сервера, есть ли другие возможности? Прямо сейчас существует перенаправление CNAME с bi.example.com на другой URL-адрес, отличный от Google, и я попытался настроить перенаправление с помощью nginx, указав CNAME с bi.example.com на example.com вместо другого URL-адреса.

Tilman Schmidt avatar
флаг bd
Это не похоже на то, что кто-то хотел бы делать в бизнес-среде. Каков ваш вариант использования?
флаг cn
Проверьте обновленный пост.
Tilman Schmidt avatar
флаг bd
Было бы намного легче ответить на ваш вопрос, если бы вы не запутывали его так сильно. В будущем, пожалуйста, помогите тем, кто пытается вам помочь, предоставив реальную информацию, а не описывая вашу проблему таким окольным путем.
Рейтинг:1
флаг bd

У вас не может быть двух программ (Apache и nginx), прослушивающих один и тот же порт, но вы можете использовать одну программу (Apache или nginx) для обратного прокси-сервера с двумя отдельными именами хостов для двух разных служб или даже для обслуживания контента на одном имени хоста и обратного прокси-сервера на другом. один.

Таким образом, решение состоит в том, чтобы сначала выбрать одну из двух программ, Apache или nginx, а затем в этой программе настроить два виртуальных хоста для двух имен хостов, которые вы перенаправили на нее через записи CNAME. Затем один из этих двух виртуальных хостов может использовать обратный прокси-сервер для Google, а другой может обслуживать (или использовать обратный прокси-сервер) ваш веб-сервис.

Вопрос о SSL-сертификатах — отдельная история. Вы можете либо настроить обратный прокси-сервер на использование отдельных сертификатов для двух виртуальных хостов, либо использовать сертификат, действительный для них обоих.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.