suchen

Heim  >  Fragen und Antworten  >  Hauptteil

flask – Nginx-Rewrite-Routing

Nginx + Gunicorn + Flask-Konfiguration
Jetzt ordne ich die /demo-Route dem Port 8088 zu, wie man die Route umschreibt

server {
    listen 80;
    server_name my_server;
    
    location /demo {
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_pass http://127.0.0.1:8088;
                        
        rewrite ^/demo/(.*)$ / last;
    }
}

Aber wenn ich es so schreibe, funktioniert localhost/demo immer noch nicht.

给我你的怀抱给我你的怀抱2749 Tage vor801

Antworte allen(3)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:23:44

    访问下 my_server/demo 试试?

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-16 17:23:44

    rewrite ^/demo/(.*)$ /$1 last;

    改为

    rewrite ^/demo/(.*)$ /$1 break;

    last会对server块重新发起请求,break则使用当前location中的数据源

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-16 17:23:44

    如果说你想

    /demo代理到8088, /demo/xx代理到 8088/xx

    的话,可能就需要这样了:

    server {
        listen 80;
        server_name my_server;
        
        location / {
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://127.0.0.1:8088;
                            
            rewrite ^/demo/(.*)$ /$1 break;
        }
    }

    但是这种直接在你的后台程序中处理也就可以了,因为这样的结果就是访问/demo/xx和访问/xx是一样的效果了

    Antwort
    0
  • StornierenAntwort