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

переадресовать порт 80 на 8080 не удалось

Я пытаюсь перенаправить порт с 80 на 8080 (по умолчанию на tomcat). ниже то, что я добавил в файл httpd.

 <VirtualHost www.example.com:80> 
      ProxyPreserveHost On
      ProxyRequests Off
      ServerName www.example.com
      ServerAlias example.com
      ProxyPass / http://localhost:8080/
      ProxyPassReverse / http://localhost:8080/
    </VirtualHost>

После добавления нет никаких признаков каких-либо изменений. Что-то не так с кодом?
Centos 5.9
apache 2.2
кот 7
whm / cpanel.

ОБНОВИТЬ: Мой целевой домен - www.99rounds.com:80 прямо на: 8080

Обновление 2 После добавил код из ответа и удалил 2 строчки логов. Я получил: Обратите внимание, что в centos есть встроенная поддержка mod_proxy, если я заставлю ее: loadModule ... Это даст мне ошибку, сообщающую, что он встроен.

У меня есть подробный ответ о том, как я настроил обратный прокси Apache здесь.

Взглянув на предоставленную вами конфигурацию:

<VirtualHost www.example.com:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Вместо этого я бы предложил следующее. Я предполагаю некоторые вещи, такие как ErrorLog и CustomLog, но я бы настроил их так. Я считаю, что ключ ServerName & ServerAliasв сочетании с <VirtualHost *:80>:

<VirtualHost *:80>
  ServerName www.99rounds.com
  ServerAlias 99rounds.com www.99rounds.com

  ErrorLog /var/log/apache2/www.99rounds.com.error.log
  CustomLog /var/log/apache2/www.99rounds.com.access.log combined

  # Settings for Apache Reverse Proxy
  <IfModule mod_proxy.c>

    # Proxy specific settings
    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy *>
      AddDefaultCharset off
      Order deny,allow
      Allow from all
    </Proxy>

    ProxyPass / http://localhost:8080/ 
    ProxyPassReverse / http://localhost:8080/ 

  </IfModule>

</VirtualHost>

РЕДАКТИРОВАТЬ: Также убедитесь, что у вас есть mod_proxy и mod_proxy_http включен на вашем сервере:

sudo a2enmod proxy
sudo a2enmod proxy_http

Tomcat и другие серверы приложений публикуют порт AJP, который можно использовать для сопоставления запросов от HTTP-сервера. Для этого вам нужно создать такие «рабочие файлы»:

# server.workers.properties

worker.list=tomcat-server

worker.tomcat-server.type=ajp13
worker.tomcat-server.host=localhost
worker.tomcat-server.port=8009

8009 - это значение по умолчанию для порта AJP на сервере Tomcat. Вы можете найти это значение в $ TOMCAT_DIR $ / conf / server.xml. Затем необходимо указать предыдущий файл в файле конфигурации HTTP:

JkWorkersFile /location/of/the/file/server.workers.properties

<VirtualHost www.example.com:80> 
  ServerName www.example.com
  ServerAlias example.com
  DocumentRoot /srv/www/
  JkMount /* tomcat-server 

  <Directory />
    Options +FollowSymLinks
    Order allow,deny
    Allow from all
  </Directory>

</VirtualHost>

Эта конфигурация будет передавать все запросы от www.example.com:80 на порт AJP 8009, поэтому сервер Tomcat получит эти запросы и обработает их.

В пути, заданном в DocumentRoot, вы должны поместить ссылки для каждого приложения в каталог webapps Tomcat, потому что, если вы этого не сделаете, HTTP-сервер не сможет загружать файлы ресурсов, такие как CSS и JS.