Задав ранее длинный и запутанный вопрос, теперь у меня есть код, использующий 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 выводится сертификат.
Честно говоря, я не знаю, что делать, поэтому любая помощь будет мне признательна.
389 \ TCP не является портом SSL LDAP по умолчанию. Порт 636 \ TCP , обычно используемый для LDAP SSL (ldaps).
На порте 389 \ TCP можно включить STARTTLS ( ldapsearch
с помощью переключателя -Z
или -ZZ
используйте его). Я не уверен, что OpenSSL s_client может реализовать STARTTLS для протокола LDAP.