WebLogic
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
}