Skip to content

Rewrite Ruleset to hide Webinar Mode from URL

Guido Jäkel edited this page May 14, 2020 · 8 revisions

About

This should give you a hint howto hide the special page anchor #config.webinar=true used to start the client in Webinar Mode from the URL used to invite users to an event as an attendee.

The following is a snippet from a virtual host configuration used for the the vhost meet.example.com. This is used as the public domain to present the service. The Openfire server with the OpenMeet plugin is running at the domain xmpp.example.com; the OpenMeet plugin's context path is configured to use / (!)

The URL scheme

The landing page with instructions or similar (taken from index.hml) is accessed at

	https://meet.example.com

One may use

	https://meet.example.com/room

to name a room for a meeting.

The direct stage door to the conference THE_NAME for the moderator and talk members is accessed (as usual) by

	https://meet.example.com/room/THE_NAME

The direct hall entry for the attendees to the conference THE_NAME is

	https://meet.example.com/hall/THE_NAME

and in an analogous way, a attendee may choose a hall at

	https://meet.example.com/hall

The ruleset

RewriteEngine		on
SSLProxyEngine		on


#<<< OpenMeeting client
#

RewriteRule		^/room$	/room/	[QDS,R]
RewriteRule		^/hall$	/hall/	[QSD,R]


# 20200326/gj	< https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-reverse-proxy-websockets-with-apache-2-4/
RewriteCond	%{HTTP:Upgrade}		websocket	[NC]
RewriteCond	%{HTTP:Connection}	upgrade		[NC]
RewriteRule	(.*)	wss://xmpp.example.com/$1	[P,L]

ProxyPass		/room	https://xmpp.example.com
ProxyPassReverse	/room	https://xmpp.example.com

# 20200405/gj	a hack to pass the url fragment to the browser AND to keep the base URL (by using a pseudo query string) despite of proxying
RewriteCond	%{QUERY_STRING}	!as_attendee
RewriteRule	/hall/(.*)$	/hall/$1?as_attendee#config.webinar=true	[QSA,NE,R,L,S=1]
RewriteRule	/hall/(.*)$	https://xmpp.example.com/$1			[P,L]

#
#>>>


#<<< Jitsi-Meet App
#

# the App will start by look for  config.js  at the root path
RewriteRule ^(/config.js)$  https://xmpp.example.com$1

#
#>>>