Использование Apache RedirectPermanent для отправки всех запросов в определенную подпапку

Задав ранее длинный и запутанный вопрос, теперь у меня есть код, использующий RedirectPermanent , который я нужна помощь.

Мы объединяем старый сайт в новый, и не будем t заботится о том, чтобы сопоставить все древние URL-адреса в любом месте нового сайта, поэтому все они должны быть постоянно перенаправлены на специальный index.php, который будет решать, следует ли / куда перенаправлять с помощью php.

Исключение составляет один поддомен, он должен делать то же самое, но с другим index.php.

Это «псевдоконфигурация», которую я пытаюсь выполнить - небольшие изменения будут работать, но я не могу заставить игнорировать полный путь к запрос и безоговорочно перейти к моему выбору index.php со строкой запроса.

#Subdomain from old site:
#Process querystring from root\oldsite\subdomain\index.php
<VirtualHost *:80>
    ServerName subdomain.oldsite.com
    RedirectPermanent / http://www.newsite.com/oldsite/subdomain/index.php  
</VirtualHost>

#ALL other requests of any kind regardless of path
#Process querystring from root\oldsite\index.php
# Must show www.newsite.com, NOT www.oldsite.com
<VirtualHost *:80>
    ServerName oldsite.com
    ServerAlias www.oldsite.com
    RedirectPermanent / http://www.newsite.com/oldsite/index.php    
</VirtualHost>

DNS был настроен так, что все со старого сайта отправляется на этот сервер, и это первые записи VirtualHost в файле конфигурации. Как мне изменить этот код, чтобы перейти к заданному index.php независимо от пути. Я импортировал файлы сертификатов клиентам и в Java на сервере, поскольку сертификат самоподписан с помощью openssl.

Я попытался подключиться к LDAP с помощью openssl s_client -connect ldap.example: 389 -showcerts -state -tls1_2 , чтобы проверить сертификат, но соединение завершается без сообщений об ошибках и такого вывода:

CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:unknown state
SSL_connect:failed in unknown state
140394455615128:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1484029284
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

При подключении к порту 443 выводится сертификат.
Честно говоря, я не знаю, что делать, поэтому любая помощь будет мне признательна.

2
задан 10 January 2017 в 08:30
1 ответ

389 \ TCP не является портом SSL LDAP по умолчанию. Порт 636 \ TCP , обычно используемый для LDAP SSL (ldaps).

На порте 389 \ TCP можно включить STARTTLS ( ldapsearch с помощью переключателя -Z или -ZZ используйте его). Я не уверен, что OpenSSL s_client может реализовать STARTTLS для протокола LDAP.

1
ответ дан 3 December 2019 в 12:37

Теги

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