Имя: Пароль:
IT
Веб-мастеринг
Как? Подключение к хранилищу конфигурации с красивым URL без *.1ccr
0 arsik
 
гуру
28.06.23
17:41
Пытаюсь настроить хранилище через апач, но не нравится урл вида
http://домен/repository/storage.1ccr/alpha-6-extention
Хочется избавится от части "storage.1ccr" и оставить
http://домен/repository/alpha-6-extention
Как это сделать? И хочется одним апачем обойтись, без нгинкса

сейчас конфиг такой.

AddHandler 1cws-process .1ccr
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.21.1393/bin/wsap24.dll"

Alias "/repository" "C:/tools/Apache24/www/repository/"
<Directory "C:/tools/Apache24/www/repository/">
    AllowOverride All
    DirectorySlash Off
    Require all granted
    SetHandler 1cws-process
</Directory>
1 Грю
 
28.06.23
18:18
(0) Добавь редирект с того URL на который тебе нужен.
2 Грю
 
28.06.23
18:19
можно даже через .htaccess чтобы конфиги не менять и не перезагружать Апач
3 Garykom
 
гуру
28.06.23
18:56
(0) nginx или openresty
4 Garykom
 
гуру
28.06.23
18:57
5 Garykom
 
гуру
28.06.23
19:06
а еще проще прокси сервис на go
https://dev.to/b0r/implement-reverse-proxy-in-gogolang-2cp4
6 arsik
 
гуру
28.06.23
19:55
(4) это я читал. Но там как раз через нгинкс сделано. Я надеялся обойтись одним апачем. Пойду читать как правильно урл-реврайт в апаче делать.
7 arsik
 
гуру
29.06.23
15:38
Наверно я тупой. Так и не понял, как реврайтить запросы.
Может тут есть специалисты?
8 Garykom
 
гуру
29.06.23
18:09
(6) не уверен что получится реврарйтить только апачем
ибо LoadModule _1cws_module "C:/Program Files/1cv8/8.3.21.1393/bin/wsap24.dll"
9 Грю
 
29.06.23
18:15
(7) Покажи как делаешь и что не получается?
Примерно вот так может быть:

#в файле .htaccess в корневой папке где лежит repository.

RewriteEngine On

RewriteRule repository/storage.1ccr/alpha-6-extention repository/alpha-6-extention [L,END]
10 arsik
 
гуру
30.06.23
08:20
(9) А не наоборот?
RewriteRule repository/alpha-6-extention repository/storage.1ccr/alpha-6-extention [L,END]
Тренируюсь пока на кошках. В корне 2 папки fold1 и fold2. При обращении к fold1 пытаюсь отобразить содержание fold2.
Вот так реврайтит

RewriteRule ^(.*)$ fold2 [L]

вот так нет

RewriteRule ^fold1$ fold2 [L]
11 eklmn
 
гуру
30.06.23
10:35
^/storage.1ccr/(.*)$ /repository/1$ [R=301,L]

или может редирект?
Redirect /storage.1ccr /alpha-6-extention
12 Asmody
 
30.06.23
12:44
RewriteRule ^repository/(.*)$ repository/storage.1ccr/$1 [L]
13 arsik
 
гуру
30.06.23
14:44
(12) Не. Не работает. Даже в логах реврайта нет. Возможно (8) прав. Не перехватить внутри апача.
14 arsik
 
гуру
30.06.23
16:48
Частично получилось, но очень странно.
Вот такую ссылку реврайт обрабатывает http://127.0.0.1/repoz/alpha-6/
А вот такую нет http://127.0.0.1/repoz/alpha-6
А мне как раз нужно без закрывающего слеша, т.к. конфигуратор, при подключении хранилища убирает последний слеш.

.htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteBase /repoz
RewriteRule ^(.*)$ storage.1ccr/$1 [L]

apache

AddHandler 1cws-process .1ccr
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.21.1393/bin/wsap24.dll"
LoadModule rewrite_module modules/mod_rewrite.so
LogLevel debug rewrite:trace8

Alias "/repoz" "${SRVROOT}/www/repoz"
<Directory "${SRVROOT}/www/repoz">
    AllowOverride All
    DirectorySlash Off
    Options All
    Require all granted
    SetHandler 1cws-process
</Directory>


http://pastie.org/p/46stguxfVh6rLVhaKbPfDd
15 Грю
 
30.06.23
16:58
(10) Да, наоборот. Все правильно ты понял. Я просто пример неправильно написал, не понял откуда куда ты хочешь реврайтить.
16 Грю
 
30.06.23
17:13
(14) >> конфигуратор, при подключении хранилища убирает последний слеш

Нахрена он это делает??? Ну и дичь. Это же грубейшая ошибка. Со слэшэм и без слэша - это два абсолютно разных URL.
17 arsik
 
гуру
03.07.23
08:46
Настроил без слеша в конце, но не работает так. Там 1с какой то свой протокол использует который так просто не перенаправить.
Из браузера

[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50341] AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50341] AH01626: authorization result of <RequireAny>: granted
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] strip per-dir prefix: C:/tools/Apache24/www/repoz/alpha-6 -> alpha-6
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] applying pattern '^(.*)$' to uri 'alpha-6'
[rewrite:trace2]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] rewrite 'alpha-6' -> 'storage.1ccr/alpha-6'
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] add per-dir prefix: storage.1ccr/alpha-6 -> C:/tools/Apache24/www/repoz/storage.1ccr/alpha-6
[rewrite:trace2]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] trying to replace prefix C:/tools/Apache24/www/repoz/ with /ccr
[rewrite:trace5]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] strip matching prefix: C:/tools/Apache24/www/repoz/storage.1ccr/alpha-6 -> storage.1ccr/alpha-6
[rewrite:trace4]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] add subst prefix: storage.1ccr/alpha-6 -> /ccr/storage.1ccr/alpha-6
[rewrite:trace1]   mod_rewrite.c(486): [client 127.0.0.1:50341] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36955f0/initial] [perdir C:/tools/Apache24/www/repoz/] internal redirect with /ccr/storage.1ccr/alpha-6 [INTERNAL REDIRECT]
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50341] AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50341] AH01626: authorization result of <RequireAny>: granted

из 1с

[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50558] AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50558] AH01626: authorization result of <RequireAny>: granted
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] strip per-dir prefix: C:/tools/Apache24/www/repoz/alpha-6 -> alpha-6
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] applying pattern '^(.*)$' to uri 'alpha-6'
[rewrite:trace2]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] rewrite 'alpha-6' -> 'storage.1ccr/alpha-6'
[rewrite:trace3]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] add per-dir prefix: storage.1ccr/alpha-6 -> C:/tools/Apache24/www/repoz/storage.1ccr/alpha-6
[rewrite:trace2]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] trying to replace prefix C:/tools/Apache24/www/repoz/ with /ccr
[rewrite:trace5]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] strip matching prefix: C:/tools/Apache24/www/repoz/storage.1ccr/alpha-6 -> storage.1ccr/alpha-6
[rewrite:trace4]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] add subst prefix: storage.1ccr/alpha-6 -> /ccr/storage.1ccr/alpha-6
[rewrite:trace1]   mod_rewrite.c(486): [client 127.0.0.1:50558] 127.0.0.1 - - [127.0.0.1/sid#20ae0a48e48][rid#20ae36ad6b0/initial] [perdir C:/tools/Apache24/www/repoz/] internal redirect with /ccr/storage.1ccr/alpha-6 [INTERNAL REDIRECT]
[core:debug]  protocol.c(2460): [client 127.0.0.1:50558] AH03155: select protocol from h2,h2c,http/1.1, choices=h2c for server localhost
[http2:debug] h2_switch.c(108): [client 127.0.0.1:50558] AH03087: upgrade with content-length: 263, declined
[core:debug]  protocol.c(2524): [client 127.0.0.1:50558] AH03157: selected protocol=(none)
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50558] AH01626: authorization result of Require all granted: granted
[authz_core:debug] mod_authz_core.c(815): [client 127.0.0.1:50558] AH01626: authorization result of <RequireAny>: granted
[core:debug]  protocol.c(2460): [client 127.0.0.1:50558] AH03155: select protocol from h2,h2c,http/1.1, choices=h2c for server localhost
[http2:debug] h2_switch.c(108): [client 127.0.0.1:50558] AH03087: upgrade with content-length: 263, declined
[core:debug]  protocol.c(2524): [client 127.0.0.1:50558] AH03157: selected protocol=(none)
Закон Брукера: Даже маленькая практика стоит большой теории.