ApacheHTTPD¶
Apache httpd 是一种快速的生产级HTTP服务器。使用中列出的WSGI服务器之一为应用程序提供服务时 部署到生产环境 ,在其前面放置专用的HTTP服务器通常是好的或必要的。这种“反向代理”可以比WSGI服务器更好地处理传入请求、TLS和其他安全和性能问题。
可以使用您的系统包管理器或Windows的预构建可执行文件来安装HTTPD。安装和运行HTTPD本身不在本文档的讨论范围内。本页概述了配置HTTPD以代理您的应用程序的基本知识。请务必阅读其文档以了解可用的功能。
域名¶
获取和配置域名不在本文档的讨论范围内。通常,您将从注册商那里购买域名,向主机提供商支付服务器空间费用,然后将您的注册商指向主机提供商的域名服务器。
要模拟这一过程,您还可以编辑您的 hosts
文件,位于 /etc/hosts
在Linux上。添加一行将名称与本端IP相关联。
现代的Linux系统可以配置为处理任何以 .localhost
就像这样,而不将其添加到 hosts
文件。
/etc/hosts
¶127.0.0.1 hello.localhost
配置¶
HTTPD配置位于 /etc/httpd/conf/httpd.conf
在Linux上。根据您的操作系统不同,可能会有所不同。检查文档并寻找 httpd.conf
。
删除或注释掉任何现有的 DocumentRoot
指令。添加下面的配置行。我们假设WSGI服务器在本地侦听 http://127.0.0.1:8000
。
/etc/httpd/conf/httpd.conf
¶LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyPass / http://127.0.0.1:8000/
RequestHeader set X-Forwarded-Proto http
RequestHeader set X-Forwarded-Prefix /
这个 LoadModule
线路可能已经存在。如果是,请确保它们未被注释,而不是手动添加。
然后 告诉弗拉斯克它在代理后面 以便您的应用程序使用 X-Forwarded
标题。 X-Forwarded-For
和 X-Forwarded-Host
通过以下方式自动设置 ProxyPass
。