1

Я настроил DNS-сервер для локального использования в локальной сети. Этот сервер может разрешать IP-адреса, поэтому, когда я ping mypc.company я получаю успешный ответ с IP-адреса 192.168.1.34.

проблема

Я развернул приложение (myApp) на сервере приложений Tomcat на компьютере (192.168.1.34). Я могу получить доступ к этому через эти URL:

http://mypc.company:8080/myApp 
http://192.168.1.34:8080/myApp

Вопрос

Есть ли способ настроить доменное имя (или любой другой метод), чтобы при переходе на сайт www.myApp.com я мог сразу перейти на http://192.168.1.34:8080/myApp?

3 ответа3

2

И да и нет. Вы можете зарегистрировать домен и указать ему пространство RFC1918 (например, адреса, начинающиеся с 192.168.xx). То, что вы не можете сделать, это использовать DNS или регистрацию доменного имени для изменения портов, поэтому вы не можете направить запрос по локальной сети с порта 80 на порт 8080 с помощью DNS или регистрации домена - вам нужно будет перехватить этот запрос на сервер или маршрутизатор между сервером и клиентом для сопоставления порта.

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

0

Перенаправление app.example.com (который на самом деле http://app.example.com:80/) на http://192.168.1.2:12345/some/path невозможно только при использовании DNS. Проблема очевидна: хотя вы можете разрешить app.example.com разрешить 192.168.1.2 , служба, на которую вы хотите перенаправить, не прослушивает порт 80 или даже корневой путь (/).

Поэтому нам нужно что-то прослушивать на порте 80 и перенаправлять пользователей на правильный порт и путь. Теоретически, любой веб-сервер может сделать это. Я не буду углубляться в основанные на именах виртуальные хосты здесь, но они могут быть необходимы при перенаправлении для нескольких служб.

Обычный веб-сервер может обслуживать этот HTML-файл для перенаправления пользователей:

<html>
<head>
  <title>Redirecting...</title>
  <meta http-equiv="refresh" content="0; url=http://app.example.com:12345/some/path">
</head>
<body>
  <h1>Redirecting...</h1>
</body>
</html>

Более сложные настройки могут выполнять перенаправление с использованием заголовков HTTP, т.е. на Apache:

Redirect permanent / http://app.example.com:12345/some/path

Веб-сервер не должен работать на той же машине. Он может перенаправить на любой действительный URL.

0

Да можно и все довольно просто

У вас есть реальный домен, за который вы платите:
Войдите в нашу панель управления на веб-сайте хостинга вашего домена и получите доступ к DNS. Управление переадресацией и настройка субдомена с маскированием.

Domain
company

Subdomain   Forward to                      Type
myApp       http://company.com:8080/myApp   Forward with Masking 

Вы создаете определение DNS, для которого будет определен вызов myApp.company.com, и он будет автоматически перенаправлен на http://company:8080/myApp. Маскирование включается, когда определение остается скрытым (замаскированным) в URL-адресе, в противном случае пользователь запросит myApp.company.com, но при загрузке страницы он увидит https://company:8080/myApp, а это не то, что ты хочешь.

У вас нет домена.
Вы делаете все на своем локальном хосте.

Измените свой локальный файл DNS: ССЫЛКА

dir: C:\Windows\System32\drivers\etc
файл: хост

Чтобы изменить этот файл, вам необходимо иметь права администратора. В свойствах этого файла вы можете изменить привилегии, чтобы изменить этот файл "только для чтения".

Затем просто измените эту строку: 127.0.0.1 localhost
что-то вроде этого: 127.0.0.1 greatapp.mytestlocal.com

Локальный хост - это IP-адрес: 127.0.0.1, уникальный IP-адрес, разработанный специально для локального хоста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .