Skip to content

Commit

Permalink
Release 2.4.1
Browse files Browse the repository at this point in the history
Release of Re3gistry2 v2.4.1
  • Loading branch information
oruscalleda committed Jan 10, 2023
1 parent 9f03fb4 commit 314a709
Show file tree
Hide file tree
Showing 5 changed files with 819 additions and 2 deletions.
131 changes: 131 additions & 0 deletions dist/webapp/httpd-vhosts.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
<virtualhost *:80>
<Directory "/var/www/host.docker.internal/public_html">
AllowOverride All
Options -Indexes -FollowSymLinks
Require all granted
</Directory>
ServerName host.docker.internal

ErrorLog /var/log/re3gistry-int_error_log
CustomLog /var/log/re3gistry-int_access_log combined

#### Basic configuration ###
#
#Alias /registry /var/www/registry
#Alias /registry/release-note.xml /var/www/host.docker.internal/public_html/release-note.xml
Alias /registry /var/www/host.docker.internal/public_html

DirectoryIndex index.html

DocumentRoot /var/www/host.docker.internal/public_html
#DocumentRoot /var/www/empty

ProxyPreserveHost Off

## SSLProxyEngine on
# SSLProxyEngine On
# SSLProxyCheckPeerCN on
# SSLProxyCheckPeerExpire on

## Proxy to expose the Re2gistry 2 management interface
ProxyPass /re3gistry2 http://host.docker.internal:8080/re3gistry2
ProxyPassReverse /re3gistry2 http://host.docker.internal:8080/re3gistry2

## Proxy to expose the Re2gistry 2 rest API
ProxyPass /registry/rest http://host.docker.internal:8080/re3gistry2restapi/items/any Keepalive=On
ProxyPassReverse /registry/rest http://host.docker.internal:8080/re3gistry2restapi/items/any Keepalive=On

## Proxypass to expose the Re3gistry 2 Solr instance (select)
ProxyPass /registry/searchapi http://host.docker.internal:8983/solr/re3gistry/select Keepalive=On
ProxyPassReverse /registry/searchapi http://host.docker.internal:8983/solr/re3gistry/select Keepalive=On

### Rewrite rules ###
RewriteEngine on
loglevel debug rewrite:trace3

## Handling direct request to a file
RewriteCond %{REQUEST_URI} !^/registry/js-ecl-v2
RewriteRule ^/(.*)/(.*)\.([a-z]{2})\.(jsonc|json|xml|atom|csv|rdf|iso19135xml|ror)$ %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=$3&uri=http://%{HTTP_HOST}/$1&format=$4 [P,L]

#Handling dynamic XSD
RewriteCond %{REQUEST_URI} ^/registry/schemas/2.0
RewriteRule ^/registry/schemas/2.0/(.*)\.xsd$ %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?itemclass=$1&format=xsd [P,L]


## Handling content negotiation: json
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^application/json$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=json [P,L]

## Handling content negotiation: iso19135xml
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^application/x-iso19135+xml$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=iso19135xml [P,L]

## Handling content negotiation: re3gistry xml
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^application/xml$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=xml [P,L]

## Handling content negotiation: atom
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^application/atom+xml$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=atom [P,L]

## Handling content negotiation: atom
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^application/rdf+xml$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=rdf [P,L]

## Handling content negotiation: atom
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{HTTP_ACCEPT} ^text/csv$
RewriteCond %{HTTP:Accept-Language} ([a-z]{2}) [OR]
RewriteCond %{HTTP:Accept-Language} ^()$
RewriteRule ^/(.*) %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?lang=%1&uri=http://%{HTTP_HOST}/$1&format=csv [P,L]

#Handling ROR format without specific language (defaults to ENG)

RewriteRule ^/(.*)/((.*)\.(ror))$ %{REQUEST_SCHEME}://%{HTTP_HOST}/registry/rest?uri=http://%{HTTP_HOST}/$1&lang=en&format=ror [P,NE,L]

## Generic request to the registry
RewriteCond %{REQUEST_URI} !^/cache-all-reg
RewriteCond %{REQUEST_URI} !^/re3gistry
RewriteCond %{REQUEST_URI} !^/registry/searchapi
RewriteCond %{REQUEST_URI} !^/registry/search
RewriteCond %{REQUEST_URI} !^/registry/rest
RewriteCond %{REQUEST_URI} !^/registry/index\.html
RewriteCond %{REQUEST_URI} !^/registry/about\.html
RewriteCond %{REQUEST_URI} !^/registry/api\.html
RewriteCond %{REQUEST_URI} !^/registry/release-note\.xml
RewriteCond %{REQUEST_URI} !^/registry/js-ecl-v2
RewriteCond %{REQUEST_URI} !^/registry/ecl-v2
RewriteCond %{REQUEST_URI} !^/registry/css
RewriteCond %{REQUEST_URI} !^/registry/conf
RewriteCond %{REQUEST_URI} !^/registry/libs
RewriteCond %{REQUEST_URI} !index\.html$
RewriteCond %{REQUEST_URI} !\.json$
RewriteRule ^/(.*) /index.html [L]


## Handling search requests
RewriteCond %{REQUEST_URI} !^/registry/searchapi
RewriteRule ^/registry/search(.*) /search.html$1 [L]

<Location /registry/release-note.xml>
Header set Cache-Control "no-cache, no-store, must-revalidate, s-max-age=1"
Header set Pragma "no-cache"
Header set Expires "Sat, 1 Jan 2000 00:00:00 GMT"
</Location>

</virtualhost>
Loading

0 comments on commit 314a709

Please sign in to comment.