Как перезаписать URL-адрес на определенный порт на сервере Mac OS X за маршрутизатором DD-WRT?

1239
Zach Morgan

Я только что настроил домашний веб-сервер, используя Mac OS X Lion встроенный сервер Apache. Я установил доступ к своему музыкальному серверу Subsonic, работающему на порту 4040, и к моему торрент-пульту дистанционного управления на порту 9091, а также к встроенному веб-серверу на порту 80. К счастью, порт 80 разблокирован, поэтому я смог получить доступ ко всем этим, используя мой DynDNS работает на маршрутизаторе DDWRT. У меня есть домен "example1.dyndns.org", подключенный к пользовательской прошивке DD-WRT, и я могу получить доступ к этим отдельным службам, набрав "example1.dyndns.org:4040" или 9091.

Я хочу иметь возможность получить доступ ко всем этим службам в разных / URL. Таким образом, Subsonic будет example1.dyndns.org/subsonic.

Из того, что я исследовал, я подозреваю, что это может быть сделано либо Pro-версией DynDNS, настроив Виртуальный хост в apache на моем маршрутизаторе DD-WRT, либо apache на моем Lion Server, но мне действительно нужно какое-то руководство по любой из тех. Я не веб-дизайнер, но могу учиться, если я уверен, что движусь в правильном направлении. Спасибо

0

1 ответ на вопрос

0
Zach Morgan

Догадаться! Секретом было редактирование встроенных в Mac виртуальных хостов Apache! Я оставил свой маршрутизатор, чтобы продолжить перенаправление трафика порта 80 на сервер. Благодарим AngryInca на форуме Transmission за его полезные инструкции .

Поэтому после запуска Textedit в режиме администратора я добавил это в свой httpd.conf, чтобы разрешить доступ к Transmission (9091), перейдя по адресу www.examplewebsite.com/transmission и subsonic (4141), перейдя по адресу ./music. :

<VirtualHost *:80> RewriteEngine On ### BELOW FOR TRANSMISSION WEB INTERFACE ###  # Redirect requests to /transmission/ to /transmission/web/ RewriteRule /transmission[/]?$ /transmission/web/ [R=permanent]  # Forward all requests for /transmission to transmission-daemon ProxyPass /transmission http://127.0.0.1:9091/transmission ProxyPassReverse /transmission http://127.0.0.1:9091/transmission redirect 301 /transmission/transmission/web/ /transmission/web/ redirect 301 /transmission/ /transmission/web/ redirect 301 /transmission /transmission/ ### END TRANSMISSION WEB INTERFACE ###  ### BELOW FOR Adam's Subsonic WEB INTERFACE ### # Forward all requests for /music to subsonic-daemon ProxyPass /music http://127.0.0.1:4141/music ProxyPassReverse /music http://127.0.0.1:4141/music  ### END SUBSONIC INTERFACE ### </VirtualHost> 

Я добавил перенаправления, потому что иногда происходит сбой передачи, и я пытаюсь перейти по неправильному URL-адресу, а ProxyPass позволяет получить доступ к своему серверу по URL-адресу веб-сайта в моей локальной сети (мне пришлось изменить настройку на маршрутизаторе, чтобы разрешить это хоть).

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