0 Votes

WebLogic

Last modified by Jeff McDonald on 2021/09/28 22:48

Here's an example of using NGINX as a reverse proxy in front of WebLogic.

Within the WebLogic console, enable the WebLogic Plugin.

Within NGINX, set the WL-Proxy-SSL header to true;

NGINX offer a sample configuration for WebLogic, but it doesn't work.

Instead, I like the sample configuration used for Jenkins.

Here's an example NGINX conf file that seems to work well:

upstream wscse {
  keepalive 32; # keepalive connections
  server wscse:7001;
}

map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
}

    server {
      listen       80;
      listen       [::]:80;
      server_name webrtc.vorpal.net;
      return 301 https://webrtc.vorpal.net$request_uri;
    }

    server {
        listen 443 ssl; # managed by Certbot
        server_name  webrtc.vorpal.net;
        ssl on;
        include /etc/nginx/default.d/*.conf;
        client_max_body_size 0;
        ignore_invalid_headers off;

        location / {
          proxy_pass http://wscse;

          proxy_http_version 1.1;
          proxy_set_header   WL-Proxy-SSL      true;
          proxy_set_header   Connection        $connection_upgrade;
          proxy_set_header   Upgrade           $http_upgrade;
          proxy_set_header   Host              $host;
          proxy_set_header   X-Real-IP         $remote_addr;
          proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
          proxy_set_header   X-Forwarded-Proto $scheme;
          proxy_max_temp_file_size 0;
          client_max_body_size       10m;
          client_body_buffer_size    128k;
          proxy_connect_timeout      90;
          proxy_send_timeout         90;
          proxy_read_timeout         90;
          proxy_buffering            off;
          proxy_request_buffering    off; # Required for HTTP CLI commands
          proxy_set_header Connection ""; # Clear for keepalive

          proxy_set_header X-Forwarded-Host $host;
          proxy_set_header X-Forwarded-Server $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_pass_request_headers on;
          proxy_set_header Connection "keep-alive";
          proxy_store off;
        }

        ssl_certificate /etc/letsencrypt/live/vorpal.net/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/vorpal.net/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    }