我已经安装了一个Ubuntu的VPS,这是运行一个Django的应用程序。 我使用waitress作为WSGI服务器,并whitenoise服务静态文件。 另外nginx提供媒体文件夹。 目前的设置在example.com很好,但我想阻止网站显示为example.com:5000因为媒体文件正在这个端口服务。
我用来运行服务器的命令是:
web: PYTHONUNBUFFERED=true env/bin/waitress-serve --port=$PORT project.wsgi:application
和nginxconfiguration:
upstream app_server { server 127.0.0.1:5000 fail_timeout=0; } server { listen 80 default_server; server_name _; client_max_body_size 4G; keepalive_timeout 10; location /uploads/ { alias /opt/media/; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } }
是否有可能从example.com:5000隐藏网站?
PS。 最坏的情况 – 我还可以在5000港口为媒体服务吗?
从你的configuration看起来nginx不会监听端口5000.因此,你应该调查实际上在这个端口上监听的内容,并且阻止它进入外部世界 – 最简单的方法就是将它绑定到localhost。 这样nginx就可以访问它,但不能访问任何不在这台机器上的人。