Eu tive muitos problemas para fazer o console administrativo do GF4.1 funcionar bem com um proxy reverso Nginx, deixando isso aqui, caso alguém venha procurar.
O grande problema não é fazê-lo funcionar, mas o aplicativo da Web do GlassFish usa muitos XMLHttpRequests que dificultam a vida. Veja abaixo uma configuração de trabalho. Eu escutei no 8484 como uma espécie de "esconder" do console, mas você pode ouvir em outra coisa, deve funcionar bem. Note que você pode não precisar de todas essas configurações para fazê-lo funcionar. Nós tivemos requisitos bastante rígidos em cifras etc. mas você obterá uma classificação A + em ssllabs
server {
listen 8484;
server_name yourdomain.com;
ssl on;
ssl_certificate /path/to/linked.crt;
ssl_certificate_key /path/to/keyfile.key;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
client_max_body_size 4G;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers On;
ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 !DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED';
ssl_dhparam /etc/nginx/ssl/dhparam2048.pem; #NB generate custom dhparam for logjam as follows: openssl dhparam -out dhparams.pem 2048
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;';
ssl_stapling on;
access_log /var/log/nginx/nginx-access.log;
error_log /var/log/nginx/nginx-error.log;
location / {
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
proxy_pass_request_headers on;
proxy_no_cache $cookie_nocache $arg_nocache$arg_comment;
proxy_no_cache $http_pragma $http_authorization;
proxy_cache_bypass $cookie_nocache $arg_nocache $arg_comment;
proxy_cache_bypass $http_pragma $http_authorization;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port; #Very nb to add :$server_port here
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Access-Control-Allow-Origin *;
proxy_set_header Access-Control-Allow-Origin *;
proxy_redirect /web/ https://yourdomain.com:8484/web/; #silly Xmlhttprequests
proxy_pass https://127.0.0.1:4848;
# proxy_ssl_verify off; #include this is using Nginx > 1.8
}
}