V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wljn
V2EX  ›  程序员

[小白求助] nginx 问题 !

  •  
  •   wljn · 253 天前 · 1482 次点击
    这是一个创建于 253 天前的主题,其中的信息可能已经有所发展或是发生改变。
    加了 auth_basic 密码验证 ,苹果手机上的浏览器打开网址后一片空白,安卓和 win 都正常


    server {
    listen 80;
    server_name test.com;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;

    location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    }
    }


    nginx 日志

    49.87.0.xx - 123456 [30/Aug/2023:10:39:33 +0000] "GET / HTTP/1.1" 200 228 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1"
    49.87.0.xx - 123456 [30/Aug/2023:10:39:33 +0000] "GET /main.css HTTP/1.1" 304 0 "http://test.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1"
    49.87.0.xx - 123456 [30/Aug/2023:10:39:33 +0000] "GET /bundle.js HTTP/1.1" 304 0 "http://test.com/" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1"
    49.87.0.xx - - [30/Aug/2023:10:39:33 +0000] "GET /?action=multiplex HTTP/1.1" 401 179 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1"
    第 1 条附言  ·  252 天前
    server{
    listen 80;
    server_name test.com;
    return 301 https://$host$request_uri;
    }

    server {
    listen 443 ssl http2;
    server_name test.com;

    ssl_certificate "/etc/nginx/ssl/test.com.cer";
    ssl_certificate_key "/etc/nginx/ssl/test.com.key";

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;

    location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";

    }
    }
    https 密码验证后 依旧只有 ios 浏览器打开网址空白
    15 条回复    2023-08-31 13:15:43 +08:00
    yinmin
        1
    yinmin  
       253 天前
    启用 SSL 试试
    wljn
        2
    wljn  
    OP
       253 天前
    @yinmin 之前 启用了 也是一样 去掉密码就正常
    Zhuzhuchenyan
        3
    Zhuzhuchenyan  
       253 天前
    分别试一下以下两个链接,一个是 Https ,一个是 Http ,如果 Https 正常但是 Http 不正常,那就是 Safari 的安全策略

    https://httpbin.org/basic-auth/user/passwd

    http://httpbin.org/basic-auth/user/passwd

    如果两个都无法正常弹出登录框,那就是浏览器的问题
    wljn
        4
    wljn  
    OP
       253 天前
    @Zhuzhuchenyan 问题不是弹登录框 是登陆后 页面空白
    wljn
        5
    wljn  
    OP
       253 天前
    @Zhuzhuchenyan 是我没把问题说清楚
    yanjieee
        6
    yanjieee  
       252 天前
    Connection 去掉吧
    wljn
        7
    wljn  
    OP
       252 天前
    @yanjieee 去掉后 nginx -s reload 直接报错
    yanjieee
        8
    yanjieee  
       252 天前
    去掉 proxy_set_header Connection "Upgrade";这行
    lovelylain
        9
    lovelylain  
       252 天前 via Android
    改成这样 proxy_set_header Connection $http_connection;
    wljn
        10
    wljn  
    OP
       252 天前
    @yanjieee 登陆后 也是空白
    wljn
        11
    wljn  
    OP
       252 天前
    @lovelylain 密码验证后 页面空白
    yanjieee
        12
    yanjieee  
       252 天前
    看一下你的后端是不是也会加 Connection 头,我记得 Safari 遇见双 Connection 头会白屏。
    lovelylain
        13
    lovelylain  
       252 天前 via Android
    @wljn 你没有按我说的改啊,at 我干嘛
    wljn
        14
    wljn  
    OP
       252 天前 via Android
    @lovelylain 大佬 我试过你那个 但是还是不行啊
    julyclyde
        15
    julyclyde  
       252 天前
    @yanjieee 哪儿来的“双”Connection 呢?这里如果存在一个那就是后端的,nginx 并没有给浏览器下发 connection header 啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3305 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:32 · PVG 21:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.