У меня есть домашний сервер, на котором запущено несколько приложений. В настоящее время я могу получить доступ к этим службам удаленно, используя определенный номер порта. По причинам веб-фильтрации, это не будет работать для меня, когда я использую определенные компьютеры. Я ищу способ "перенаправить" на другой порт, все еще используя адрес, который я ввожу. Кроме того, субдомены не будут работать, мне придется использовать пути к папкам.

Например:

URL that I type in       Path I actually access
http://example.com       http://example.com:80
http://example.com/plex  http://example.com:32400
http://example.com/php   http://example.com:8080

Обратите внимание, что в адресной строке должен оставаться адрес типа example.com/service, а не адрес example.com:port. Также не все сервисы являются веб-хостами.

Любой простой / бесплатный способ сделать это?

1 ответ1

0

Либо фреймы (очень простые), либо обратное проксирование (более сложные, но вы можете увидеть больше, чем просто http://example.com/plex в своей адресной строке) могут достичь того, чего вы хотите.

Что касается RDP: вы не вводите это в своем браузере. Если вы действительно хотите, загрузите сохраненный сеанс RDP. Затем вы можете скачать и открыть файл каждый раз.


Apache и mod_proxy

Apache обеспечивает поддержку прокси через mod_proxy. Самый простой пример - что-то вроде этого:

ProxyPass /foo http://foo.example.com/bar
ProxyPassReverse /foo http://foo.example.com/bar

Директива ProxyPass определяет, какой путь передать на какой вышестоящий сервер. ProxyPassReverse заставляет Apache переписывать некоторые заголовки ответа, чтобы маскировать адрес вышестоящих серверов.

Как вы могли заметить, в этом есть один существенный недостаток: на странице ответов ничего не переписывается. Таким образом, если нет только относительных ссылок, этот метод может работать только для одного запроса. Дополнительные проблемы могут возникнуть, если вы «переименуете» части URL. В идеале приложение, которое вы выбираете для прокси-запросов, должно явно поддерживать использование с обратным прокси-сервером.

Базовый пример для вашей настройки Plex будет выглядеть примерно так:

ProxyPass /plex http://localhost:32400/
ProxyPassReverse /plex http://localhost:32400/

Тем не менее, может показаться, что Plex Media Server в этом отношении не работает, поэтому вам, возможно, придется пересмотреть свою идею. Простые перенаправления гораздо проще в настройке и гарантированно работают без проблем. Вы не получите красивый URL в адресной строке.

Конечно, вы также можете использовать nginx для обратного прокси, и это, вероятно, будет намного быстрее.

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