如何停止重定向移动请求nginx烧瓶?

时间:2017-01-12 14:15:51

标签: python nginx

最近我们用SSL保护了我们的应用程序。网站和邮递员自动重定向到https并正常工作。但移动设备的功能不同。在移动设备301中,响应不会重定向到新URL。如何阻止移动请求重定向并让它们以与原来相同的方式工作? #卡住#SOS

server {
    listen 443 default ssl;

    # ssl    on;
    ssl_certificate    /etc/path/myfile.pem;
    ssl_certificate_key    /etc/path/myfile.pem;

    server_name example.com;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/path/myfile.sock;
    }
}

server {
    listen 80;
    server_name example.com;
    set $mobile_rewrite do_not_perform;

    if ($http_user_agent ~* '(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino') {
        set $mobile_rewrite perform;
    }

    # Do not redirect mobile device requests
    if ($mobile_rewrite = perform){
        return http://$server_name$request_uri;
    }
    return 301 https://$server_name$request_uri;
}

1 个答案:

答案 0 :(得分:1)

请避免使用过多的用户代理,并尝试使用简单的

if ($http_user_agent ~ 'Android | iPhone') {
        set $mobile_rewrite perform;
    }