Назад | Перейти на главную страницу

Apache 2 - у меня есть webmin, работающий на порте 10000 ... Я хочу, чтобы он был доступен через обычный HTTP-порт (80)

В настоящее время я делаю это с помощью config.

NameVirtualHost *
<VirtualHost *>
        ServerName testsite.org
        ServerAdmin webmaster@testsite.org
        DocumentRoot /var/www/
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature on

</VirtualHost>

<VirtualHost *>
        ServerName panel.testsite.org
        ProxyPass / http://panel.testsite.org:10000/
        ProxyPassReverse / http://panel.testsite.org:10000/
</VirtualHost>

Это работает, но теперь мне нужно использовать Perl CGI на panel.testsite.org, чтобы найти REMOTE_ADDR и отображать IP-адрес сервера ... из-за этого обходного пути прокси. Как лучше выполнить то, что мне нужно, без использования прокси или чего-то еще, что может испортить REMOTE_ADDR

Учитывая, что вы используете прокси, вы должны использовать Заголовки запроса обратного прокси:

  • X-Forwarded-For IP-адрес клиента.
  • X-Forwarded-Host Исходный хост, запрошенный клиентом в заголовке HTTP-запроса Host.
  • X-Forwarded-Server Имя хоста прокси-сервера.