flask 中有subdomain这个变量,请教 nginx 如何写才能部署子域名,虽然可以用两个 flask 应用监听两个端口实现,但能否一个应用实现多个子域名, 我找了一下,找到这个使用 uwsgi,但我没有用 uwsgi,而是gunicorn, nginx 是这样的
server {
listen 80 ;
server_name aaa.xxx.org;
access_log /var/log/nginx/docs/access.log main;
error_log /var/log/nginx/docs/error.log;
proxy_pass http://127.0.0.1:8080;
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;
}
}
server {
listen 80 ;
server_name bbb.xxx.org;
access_log /var/log/nginx/bbs/access.log main;
error_log /var/log/nginx/bbs/error.log;
proxy_pass http://127.0.0.1:8080;
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;
}
}
# config.py
SERVER_NAME = 'xxx.org'
现在访问 bbb.xxx.org 会显示 aaa.xxx.org 的内容,请教这个该怎么做?
1
jzp113 2016-05-19 20:08:48 +08:00
proxy_pass http://127.0.0.1:8080 地址指向改下
|
3
dphdjy 2016-05-19 20:35:18 +08:00 via Android
blueprint
|
5
likai 2016-05-19 20:57:39 +08:00
直接域名转发不好么
|
6
dphdjy 2016-05-19 21:48:02 +08:00 via Android
@honmaple 为什么给你搞这么复杂~ 没用过你那个~ 找找通配符的方法 用了 subdomain 分离就交给 py 了全部扔给 py 就好了~ 我用的是 lighttpd 就是类似的设定~
|
8
honmaple OP @dphdjy 现在是 url_for('static',filename='index.css')的问题,加了`SERVER_NAME='xxx.org'`,静态文件链接就成了 htttp://xxx.org/static/index.css,但是 xxx.org 我用在其他地方,并没有用在这个应用里,我认为加了 app.url_map.default_subdomain = "forums"后默认的 static 应该是 htttp://forums.xxx.org/static/index.css,结果不是
|
9
honmaple OP ok ,在这里 https://github.com/pallets/flask/issues/1559 找到了方法,重写 static url
|