kelalang - penghalaan tulis semula nginx
给我你的怀抱
给我你的怀抱 2017-05-16 17:21:44
0
3
805

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

给我你的怀抱
给我你的怀抱

membalas semua(3)
伊谢尔伦

Lawati my_server/demo dan cuba?

小葫芦
rewrite ^/demo/(.*)$ / last;

ditukar kepada

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

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

大家讲道理

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan