LINUX.ORG.RU
ФорумAdmin

Apache RewriteRule


0

1

Добрый день!
Хочу настроить переброс с http на https, переброс работает, но вот url следующего вида тоже перебрасывается:
http://test:8080/servlet/Servlet?otchet=test&
как этого избежать?
Лог httpd:
<VirtualHost *:80>
DocumentRoot /var/www/html/test
ServerName test

<Directory /var/www/html/test>
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1 localhost 192.168.0.0/255.255.255.0
</Directory>

RewriteEngine On
RewriteCond %{HTTP:PORT} !^443$
RewriteRule ^(.*)$ https://test [R,L]
</VirtualHost>

<VirtualHost portbase:443>
SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/httpd/test.crt
SSLCertificateKeyFile /etc/httpd/test.key
DocumentRoot /var/www/html/test
ServerName test
<Directory /var/www/html/test>
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1 localhost 192.168.0.0/255.255.255.0
</Directory>
</VirtualHost>

RewriteCond %{HTTP:PORT} !^443$

Тут абсолютно лишний — ты и так на 80-м порту и что-то другое ожидается не должно.

http://test:8080/

А где у тебя настройка vhost на 8080-м порту? Нету? Вот первый в списке и срабатывает как default.

beastie ★★★★★
()
Ответ на: комментарий от thesis

Как раз нет! Редирект мне нужен на апаче с 80 на 443. А томкат должен выполнять свою работу. Но если я включаю редирект, то и томкат тоже редиректится.

scorpion15
() автор топика
Ответ на: комментарий от scorpion15

А, прошу прощения. неправильно прочитал. И снова написал херню, сейчас, переключу контекст и соображу. Ты хочешь сказать, что у тебя на 8080м порту сейчас слушает тоже httpd, который использует томката как бэкенд, правильно?

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 2)
Ответ на: комментарий от thesis

Не понял что такое бэкенд, но у если написать в браузере написать http://test:8080/ то заходит на томкат, в httpd listen 80
В netstat:

tcp6 0 0 :::443
:::* LISTEN 1675/httpd
tcp6 0 0 127.0.0.1:8005
:::* LISTEN 1169/java
tcp6 0 0 :::8009
:::* LISTEN 1169/java
tcp6 0 0 :::80
:::* LISTEN 1675/httpd
tcp6 0 0 :::8080
:::* LISTEN 1169/java
tcp6 0 0 :::22
:::* LISTEN 870/sshd
tcp6 0 0 :::631
:::* LISTEN 1/systemd

scorpion15
() автор топика
Ответ на: комментарий от scorpion15

Ну смотри: если у тебя на порту 8080 висит сразу томкат, то редиректит, стало быть, тоже томкат, и конфиги httpd тут ни к чему.

thesis ★★★★★
()
Ответ на: комментарий от scorpion15

RewriteCond %{HTTP:PORT} ^80$
Но это через жопу. Выкинь mod_rewrite вообще и используй что-то вроде
RedirectMatch (/.*$) https://test$1
в том же самом месте.
Но у тебя все равно что-то мутно в описании. Не вижу, каким и где местом httpd слушает порт 8080,а так же каким местом он связан с томкатом.

thesis ★★★★★
()
Ответ на: комментарий от scorpion15

Та не за что. Потом как-нибудь причеши это всё.

thesis ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.