Configure the reverse proxy

The 3DDashboard and 3DSearch need to be able to communicate with OnePart back-end. As this involves secured and cross-domain communications, it is recommended to use a reverse proxy to address these requirements and, in addition, mask the actual location of OnePart to the end-user.

The reverse proxy must be accessible by the 3DDashboard through an HTTPS endpoint. This means the 3DDashboard must trust the SSL certificate used by the reverse proxy.

Note: The "Drag & drop in the 3DDashboard" feature requires that the host:port is the same for both OnePart and 3DDashboard

Context:

This procedure uses the example for Apache httpd reverse proxy. Where the variables:

  • ONEPART_URL: the OnePart URL, including the port and /onepart ie. http://onepart.my-company.com:10000/onepart
  • CLOUDVIEW_ADMIN_URL: the URL for the Exalead CloudView Administration Services ie. http://onepart.my-company.com:10001
    Note: When OnePart is configured to be accessible from the 3DEXPERIENCE platform, you can still access standalone OnePart in a browser at: https://ONEPART_EXTERNAL_URL/onepart/home (Make sure to include the /home ).

  1. Open the Exalead CloudViewAdministration Console at http://CLOUDVIEW_ADMIN_URL/admin
  2. Open the Roles screen.
  3. Open the Mashup UI role in the Search column.
  4. Set the parameter HTTP context path to /onepart
  5. Click Apply to save the configuration changes.
  6. Open the reverse proxy configuration located at, for example, /usr/local/reverseproxy/conf/httpd.conf, accessible by root.
  7. Replace the configuration with the sample configuration shown below. Make sure to replace <ONEPART_URL> by the actual value.
  8. Restart reverseproxy server (still root), using the command: /usr/local/reverseproxy/bin/httpd -k restart

Sample reverse proxy configuration using httpd.conf

# Sample for Apache httpd reverse proxy Listen 443 
<VirtualHost *:443>
  SSLEngine on
  ProxyPreserveHost Off
  ServerAlias *.my-domain.com

  ProxyPass        /onepart <ONEPART_URL>
  ProxyPassReverse /onepart <ONEPART_URL>

  RequestHeader set x-forwarded-port "443"
		RequestHeader set x-forwarded-proto "https"
</VirtualHost>