Использование mod_rewrite для Mimic Виртуальные хосты SSL?

Переработка ответа от @ diego-victor-de-jesus для добавления столбцов идентификаторов и добавления некоторых деталей.

Пусть моя таблица будет названа tbl:

  • json_array_elements() расширяет список json, повторяя значения из других столбцов,
  • ROW_NUMBER() OVER (PARTITION BY mycolumn) дает мне дополнительные идентификаторы в пределах группы.

Поскольку я хочу 2 разных IDs, мне нужно повторить эту последовательность 2 раза, снимая слой за раз.

SELECT 
ID, json_col_id,
ROW_NUMBER() OVER (PARTITION BY json_col_id) as B_id,
A,
B ->> 'C' AS C,
B ->> 'D' AS D
FROM
(SELECT 
ID, json_col_id, A,
JSON_ARRAY_ELEMENTS(B::JSON) AS B
FROM
(SELECT 
ID,
ROW_NUMBER() OVER (PARTITION BY ID) as json_col_id,
json_col ->> 'A' AS A,
json_col -> 'B' AS B
FROM 
(SELECT 
index,
JSON_ARRAY_ELEMENTS(json_col::JSON) AS json_col
FROM tbl
) AS expanded_json_col) AS extracted_json_col) as expanded_B"
7
задан Michael Schmidt 4 July 2013 в 12:23
поделиться

3 ответа

Настройте единственный VirtualHost для обслуживания и secure.example.com и dbadmin.example.com (делающий это, единственный *:443 VirtualHost достигает этого). Можно затем использовать mod_rewrite для корректировки URI для запросов на dbadmin.example.com:

<VirtualHost *:443>
    ServerName secure.example.com
    ServerAlias dbadmin.example.com

    RewriteEngine on
    RewriteCond %{SERVER_NAME} dbadmin.example.com
    RewriteRule !/dbadmin(.*)$ /dbadmin$1
</VirtualHost>

Ваш сертификат SSL должен будет быть действительным и для secure.example.com и для dbadmin.example.com. Это может быть Wildcard-сертификат, как упомянуто Terry Lorber, или можно использовать subjectAltName поле для добавления дополнительных имен хостов.

Если Вы испытываете затруднения, сначала настройте их на <VirtualHost *> и проверьте, что это работает без SSL. Соединение SSL и сертификат являются отдельным слоем сложности, которую можно настроить после того, как перезапись URI работает.

3
ответ дан 7 December 2019 в 12:27
поделиться

Если Ваш сертификат SSL не является "подстановочным знаком" или многоузловым видом, затем я не думаю, что это будет работать. Переписывание отобразится в браузере, и имя в строке поиска должно быть допустимым против сертификата, или Ваши пользователи будут видеть ошибку безопасности (который они могут всегда принимать и продолжать, но это не походит на то, что Вы хотели бы).

Больше здесь.

2
ответ дан 7 December 2019 в 12:27
поделиться

Существуют апачи mod_rewrite, или Вы могли установить апача для направления https://dbadmin.example.com к path/to/example.com/dbadmin на сервере

<VirtualHost *>
ServerName subdomain.domain.com
DocumentRoot /home/httpd/htdocs/subdomain/
</VirtualHost>
0
ответ дан 7 December 2019 в 12:27
поделиться
Другие вопросы по тегам:

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