5

在 Nginx 下使用url_forwith _external = True(so :) 时如何使服务器名称替换 localhost ?url_for('foobar', _external=True)

我正在运行一个烧瓶应用程序。

nginx设置

server {
    listen 80;
    server_name _;
    access_log /var/log/nginx/simplemadetutor.access.log;
    error_log /var/log/nginx/simplemadetutor.error.log;
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location /static {
        alias /home/implemad/www/simplemadetutor/app/static;
    }
    location /favicon.ico {
        alias /home/implemad/www/simplemadetutor/app/static/img/favicon.ico;
    }
}

问题是如果我输入url_for('main.index', _external=True)而不是看到像http://simplemadetutor.com我 看到的东西http://127.0.0.1:8000/

我试过设置 SERVER_NAME = 'simplemadetutor.com'; 但是,这似乎将 simplemadetutor.com 放在由 url_for 生成的每个 url 的前面,而不是具有 external=True 的那些。

4

0 回答 0