8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何修复使用 Nginx 代理请求到后端时出现的混合内容错误?

vardhan 2月前

32 0

我正在尝试在同一台机器上托管两个服务:在端口 3001 上运行的 Next.js 前端和在端口 8000 上运行的后端服务。前端应该可以通过 HTTPS 公开访问,而……

我试图在同一台机器上托管两个服务:一个在端口 3001 上运行的 Next.js 前端,以及一个在端口 8000 上运行的后端服务。前端应该可以通过 HTTPS 公开访问,而后端应该只能在本地访问(不公开可用)。

我可以访问 的前端 https://<my-server-name> ,但是当我尝试从前端向 发出获取请求时 https://<my-server-name>/server/... ,出现混合内容错误。

这是我的 Nginx 配置:

# Redirect HTTP to HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name <my-server-name>;
    return 301 https://$server_name$request_uri;
}

# SSL support
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name <my-server-name>;

    ssl_certificate <my-cert>;
    ssl_certificate_key <my-cert-key>;
    include snippets/ssl-params.conf;

    location / {
        proxy_pass http://127.0.0.1:3001/;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /server/ {
        proxy_pass http://127.0.0.1:8000/;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

我尝试添加升级标头和 X-Forwarded-Proto 标头,但混合内容错误仍然存​​在。为什么会发生这种情况?我该如何修复?

谢谢你的帮助!

帖子版权声明 1、本帖标题:如何修复使用 Nginx 代理请求到后端时出现的混合内容错误?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由vardhan在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 看来您的 nginx 配置没有什么问题。请发布更多详细信息。我认为您通过不使用 https 协议的 ajax 发送了请求,因为浏览器不会处理 ajax 请求的 301 重定向。

返回
作者最近主题: