Puncte:1

Ascunde calea în URL-ul lui Rocket.Chat cu mod_rewrite

drapel cn

Caut de zile întregi o soluție la problema mea. Din pacate fara succes. Înainte de a încerca acum câteva zile în jur și până la urmă nicio soluție vă întreb.

Pe serverul meu Univention am instalat aplicația „Rocket.Chat”. Acesta se instalează ca container Docker.

Am creat un subdomeniu „chat.example.com” pentru Rocket.Chat care indică serverul Univention. Pentru a apela Rocket.Chat trebuie să intru în browser:

https://chat.example.com/rocketchat/home

Nu imi place asta. Mi-ar plăcea ca atunci când:

https://chat.example.com

Ajung direct la Rocket.Chat. Am reușit și asta cu MOD_REWRITE. Dar apoi browserul afișează adresa URL completă (https://chat.example.com/rocketchat/home) din nou.

Pentru a preveni acest lucru, am încercat următoarele:

RewriteEngine activat
RewriteCond %{HTTP_HOST} ^chat.example.com$ [NC]
RewriteRule ^/(.*)$ /rocketchat/home/ [P,L]

Unde fac eu greseala?

cu cel mai bun

Puncte:0
drapel kz
RewriteCond %{HTTP_HOST} ^chat.example.com$ [NC]
RewriteRule ^/(.*)$ /rocketchat/home/ [P,L]

Câteva întrebări cu asta:

  • De ce folosești P steag? Aceasta folosește mod_proxy pentru a proxy cererea?
  • Aceasta se potrivește fiecare URL și rescrieri într-o singură adresă URL? Exemplul tău menționează doar rescrierea rădăcinii?
  • Exemplul dvs. nu include o bară oblică finală pe țintă, dar ați inclus o bară oblică finală în această regulă? Este Acasă un subdirector fizic?

Încercați în schimb următoarele, presupunând că această regulă este în a Server (sau virtualhost) context:

RewriteCond %{HTTP_HOST} ^chat\.example\.com [NC]
RewriteRule ^/$ /rocketchat/home/ [L]

Cu toate acestea, dacă acest lucru funcționează poate depinde în continuare de aplicația de chat în sine.

Puncte:0
drapel cn

Mulțumesc deja pentru sprijin! Sunt în proces de a încerca să înțeleg mod_rewrite. Tocmai m-am uitat la documentul apache activat mod_proxy. Presupun că nu am nevoie de P semnalați deoarece vreau doar să rescriu URL-ul.

Dacă înțeleg corect documentul, exemplul așa cum am făcut-o ar fi: P steag fără "ProxyPass" și "ProxyPassReverse„N-ar avea nici un sens, nu-i așa?

Cu „directorul rădăcină” vă referiți la cel al aplicației sau al serverului web sau al VHOST configurat acolo? La urma urmei, este într-un container Docker. Sau prin „directorul rădăcină” vrei să spui cel al VHOST „în afara” lui Docker, adică pe serverul Univention pe care încerc să-l configurez aici chiar acum?

Așa că trebuie să fac înainte"\" în fața fiecărui element din RescrieCond?

Nu știu dacă „acasă” este un director fizic. Îl văd doar ca rezultat în browser. Am deschis shell-ul containerului Docker, dar nu am găsit nicio configurație de server web acolo.

Am încercat apoi după cum urmează. Odata cu...Acasă/ si cu ..Acasă.

Rezultatul este întotdeauna același:

Nu a fost gasit Adresa URL solicitată nu a fost găsită pe acest server.

Puncte:0
drapel cn

Pentru a testa starea Rocket.Chat, pot introduce următoarele pe gazda Univention.

root@gw01:~# curl -i http://127.0.0.1:40001/rocketchat/api/info
HTTP/1.1 200 OK
Protecție X-XSS: 1
X-Content-Type-Options: nosniff
X-Frame-Options: aceeași origine
Politica de securitate a conținutului: default-src 'self' ; connect-src *; font-src date „self”:; frame-src *; img-src * date:; media-src * date:; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline' 
ID-instanță X: QkBHePxDKXAd2ZaNk
Cache-Control: fără magazin
Pragma: fără cache
tip de conținut: aplicație/json
control-acces-permite-origine: *
access-control-allow-headers: Origine, X-Requested-With, Content-Type, Accept, X-User-Id, X-Auth-Token
Variază: Acceptare-Codare
Data: sâmbătă, 19 februarie 2022 10:54:44 GMT
Conexiune: păstrați-vă în viață
Keep-Alive: timeout=5
Transfer-Codificare: fragmentat

{"version":"3.18.2","success":true}

Poate asta va ajuta?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.