Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Ngnix+;Gunicorn&x2B;Flask:如何计算真正的基本URL_Python_Nginx_Dns_Flask_Gunicorn - Fatal编程技术网

Python Ngnix+;Gunicorn&x2B;Flask:如何计算真正的基本URL

Python Ngnix+;Gunicorn&x2B;Flask:如何计算真正的基本URL,python,nginx,dns,flask,gunicorn,Python,Nginx,Dns,Flask,Gunicorn,我有Ngnix/Gunicorn/烧瓶设置,如中所述。在我的Python/Flask代码中,我需要确定请求发送到哪个域/主机。因此,如果请求是for,我需要能够在处理请求时动态查找“example.com”,以便将其包含在响应中 我应该能够为一个新域添加一个DNS记录以指向同一个服务器,并且仍然能够在Python代码中找到新域,而无需更改服务器本身的任何内容。我尝试了各种计算基本URL的常规方法,例如request.URL\u root,但它们只显示本地代理地址(127.0.0.1:8000)。

我有Ngnix/Gunicorn/烧瓶设置,如中所述。在我的Python/Flask代码中,我需要确定请求发送到哪个域/主机。因此,如果请求是for,我需要能够在处理请求时动态查找“example.com”,以便将其包含在响应中

我应该能够为一个新域添加一个DNS记录以指向同一个服务器,并且仍然能够在Python代码中找到新域,而无需更改服务器本身的任何内容。我尝试了各种计算基本URL的常规方法,例如request.URL\u root,但它们只显示本地代理地址(127.0.0.1:8000)。在本例中,使用相对路径不是一个选项,因为我正在实现的协议需要在响应中使用绝对URL路径


在此方面的任何帮助都将不胜感激,谢谢

我认为您应该在flask config中定义SERVER\u NAME变量:

在此之后,域名应该可以通过
request.url\u root
request.headers['Host']
访问,您必须添加该行

include uwsgi_params;
在nginx配置中。

除非我不理解你的建议,否则我认为这需要在服务器上硬编码域名。这意味着服务器本身需要提前知道正在使用的域名,我想根据请求动态确定它。@TomSawyer请提供您的完整配置