Установка двух поддоменов на одном сервере

Я покупаю VPS-сервер. На этом сервере мне нужно запустить приложение Java и базу данных PostgreSQL. Приложение Java - это веб-служба, работающая на порту 8080, а база данных PostgreSQL работает на порте по умолчанию 5432.

ПРИМЕЧАНИЕ: Я знаю, что я разместил базу данных и приложение на одном сервере, это не лучшее решение, но это всего лишь тестовая среда, и мой босс не хочет вкладывать средства в дополнительный сервер VPS.

VPS имеет IP-адрес 1.2.3.4. Это связано с доменом example.com.

Только что:

У меня есть этот параметр в DNS:

example.com.        1800    IN  A   1.2.3.4
db.example.com.     1800    IN  A   1.2.3.4
ws.example.com.     1800    IN  A   1.2.3.4

... и это указывает, когда я вызываю URL:

ws.example.com:8080 / - подключиться к веб-сервису

ws.example.com:5432/ - подключиться к базе данных

db.example.com:5432/ - подключиться к базе данных

db. example.com:8080/ - подключиться к веб-службе

Мне нужно:

ws.example.com:8080/ - подключиться к веб-службе

ws.example.com:5432/ - получить ошибку

db.example.com:5432/ - подключиться к базе данных

db.example.com:8080/ - получить ошибку

Есть ли способ, как установить это состояние?

0
задан 24 March 2016 в 16:52
2 ответа

DNS должен указывать только на IP-адреса, каждая служба затем должна отвечать или выдавать ошибки на основе именованного хоста, webservice может выдать ошибку 404, например, для "db.example.com:8080".

Итак, вы хотите настроить postgres так, чтобы он принимал только определенный хост, а веб-сервис java должен быть настроен для ответа на конкретное имя хоста (может быть невозможно).

в postgres вы должны установить имя хоста с опцией конфигурации, как показано ниже:

listen_addresses = 'db.example.com'

0
ответ дан 24 November 2019 в 06:55

DNS переводит только доменное имя в IP-адрес. Ваш сервер на уровне 2 не знает, с каким доменным именем он обращался. Он может обрабатываться на уровне 7 функции. Например, в apache не устанавливайте vhost для db.example.com. поскольку ваш apache (уровень 7 osi) знает, к какому из доменного имени он обращается, он знает из своего HTTP-запроса протокола.

0
ответ дан 24 November 2019 в 06:55

Теги

Похожие вопросы