質問
ubuntu 14.04 lts os (nginx-gunicorn) でフラスコアプリをホストして、他のユーザー (Windows マシン) が自分のコンピューター名を使用してアクセスできるようにするにはどうすればよいですか? Windows ネットワークに接続しており、コンピューター名は「argonaut」です。
現在
、私はアプリにアクセスできますが、他のコンピューターにはアクセスできません。ただし、フラスコ開発 Web サーバーを使用して Windows コンピューターからアプリを実行すると、他のコンピューターがアプリにアクセスできます。違いはなんですか?
繰り返しますが、ubuntuでホストする場合、
アクセスできますが、他の人は使用していません
http://argonaut:8000
Windowsマシンでホストしている場合
、ネットワーク内の誰もが(望ましいアクセスですが、Windowsを使用したくありません)を使用してサイトにアクセスできます
http://argonaut:8000
どこから調査を開始すればよいかわかりません。
私のフラスコ run.py
from flask import Flask
from werkzeug.contrib.fixers import ProxyFix
app = Flask(__name__)
@app.route('/')
def hello():
return "Hellooxx world!"
app.wsgi_app = ProxyFix(app.wsgi_app)
if __name__ == '__main__':
app.run(host='0.0.0.0')
誰でもアクセスできるように、host='0.0.0.0' を設定しました。
私が走るとき
chet@argonaut:~$ netstat -tupln | grep ':8000'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 3216/python
nginx構成
worker_processes 1;
events {
worker_connections 1024;
}
http {
sendfile on;
gzip on;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/xml text/css
text/comma-separated-values
text/javascript
application/x-javascript
application/atom+xml;
# Configuration containing list of application servers
upstream app_servers {
server 0.0.0.0:8080;
# server 127.0.0.1:8081;
# ..
# .
}
# Configuration for Nginx
server {
# Running port
listen 80;
# Settings to serve static files
location ^~ /static/ {
# Example:
# root /full/path/to/application/static/file/dir;
root /app/static/;
}
# Serve a static file (ex. favico)
# outside /static directory
location = /favico.ico {
root /app/favico.ico;
}
# Proxy connections to the application servers
# app_servers
location / {
proxy_pass http://app_servers;
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;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
ありがとうございました