You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置公网Nginx与私有网络Payara间的HTTPS实现安全访问

问题解决方案

你完全不需要为私有网络中的Payara申请公网证书,当前遇到的不安全警告是配置规则和反向代理参数设置错误导致的,按以下步骤修改即可解决问题:

原理说明

公网Nginx做SSL反向代理的架构下,公网用户到Nginx的连接只需要Nginx配置合法公网证书即可,公网用户看到的证书是Nginx返回的Let's Encrypt证书,不会感知到内网Payara的证书状态。Nginx到内网Payara的通信属于私有网络内部流量,Payara用默认自签证书也不会影响公网侧的连接安全性。

第一步:修复端口映射规则

确认云服务器安全组/防火墙规则,仅开放公网4848端口到Nginx服务,不要将4848端口直接转发到Payara私有IP,确保公网访问4848端口的流量全部由Nginx处理。

第二步:修正Nginx反向代理配置

你当前的配置缺少对上游自签证书的校验关闭参数,会导致Nginx拒绝转发到Payara的请求,修改配置如下:

server {
    listen       4848 ssl;
    listen       [::]:4848 ssl;
    ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    server_name  sub.domain.com;
    root         /usr/share/nginx/html;

    location / {
        proxy_pass https://10.1.1.10:4848/;
        proxy_set_header Host            $host:$server_port;
        proxy_set_header X-Forwarded-For $remote_addr;
        # 新增以下两行,关闭对Payara自签证书的校验
        proxy_ssl_verify off;
        proxy_ssl_name $host;
        client_max_body_size 0;
     }
}

修改后执行nginx -t校验配置无误,再执行systemctl reload nginx生效配置。

第三步:验证效果

清除浏览器缓存后访问https://sub.domain.com:4848,点击地址栏锁形图标查看证书,会显示为Let's Encrypt颁发的对应域名合法证书,不再有不安全警告。

额外说明

  • 你用Certbot给Payara申请证书报错是正常的,Certbot的HTTP验证方式需要域名解析到当前服务器且80端口公网可访问,内网Payara不满足该条件,且完全不需要做这个操作。
  • 你本地直接访问Payara的https://localhost:4848出现不安全警告是正常现象,是Payara默认的Glassfish自签证书导致的,仅影响内网直接访问场景,不影响公网代理访问的安全性,如果需要内网访问也无警告,自行生成私有自签证书配置到Payara即可,无需申请公网CA证书。

内容的提问来源于stack exchange,提问作者General Zod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:57:03