Rumah  >  Soal Jawab  >  teks badan

kelalang - penghalaan tulis semula nginx

nginx + gunicorn + konfigurasi flask
Sekarang saya memetakan laluan /demo ke port 8088, bagaimana untuk menulis semula laluan

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;
    }
}

Tetapi jika saya menulisnya seperti ini, localhost/demo masih tidak berfungsi

给我你的怀抱给我你的怀抱2713 hari yang lalu762

membalas semua(3)saya akan balas

  • 伊谢尔伦

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

    Lawati my_server/demo dan cuba?

    balas
    0
  • 高洛峰

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

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

    ditukar kepada

    rewrite ^/demo/(.*)$ / break;
    Sumber data dalam

    last会对server块重新发起请求,break则使用当前location

    balas
    0
  • 大家讲道理

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

    Jika anda mahu

    /demo ialah proksi kepada 8088, /demo/xx ialah proksi kepada 8088/xx

    Jika

    , anda mungkin perlu melakukan ini:

    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/(.*)$ / break;
        }
    }

    Tetapi tidak mengapa untuk mengendalikan ini secara langsung dalam program latar belakang anda, kerana hasilnya ialah mengakses /demo/xx mempunyai kesan yang sama seperti mengakses /xx

    balas
    0
  • Batalbalas