2016-12-01 70 views
0

我在端口2501上部署了一個django應用程序。我配置了ATS來終止HTTPS,並充當反向代理將流量路由到2501;我的配置看起來像這樣:使用ATS將流量從一個端口重新映射到另一個端口

map https://example.com:443/ http://127.0.0.1:2501/ 

而這個偉大的工程,只要你打的https:// ...你會終止和HTTPS流量都發送到2501。但是,如果你訪問2501就可以訪問該網站通常也是如此。是否可以這樣做,如果你訪問2501它會把你路線回到443?我嘗試使用reverse_map但它不是爲我工作

reverse_map http://example.com:2501/ https://127.0.0.1:443/ 

這裏是我的uwsgi.ini是什麼樣子(也許我誤解反向地圖做什麼?):

[uwsgi] 
uid = 1000 
gid = 100 
master=false 
project=myproject 
home=/home/someuser/var/virtualenv/myproject 
virtualenv=/home/someuser/var/virtualenv/myproject 
module=myproject.project.wsgi:application 
wsgi-file=/home/someuser/var/virtualenv/myproject/lib/python2.7/site-packages/org/contrib/myproject/project/wsgi.py 
pidfile=/home/someuser/var/virtualenv/myproject/tmp/uwsgi.pid 
vacuum=True 
max-requests=500 
daemonize=/home/someuser/var/virtualenv/myproject/tmp/uwsgi.log 
env=DJANGO_SETTINGS_MODULE=myproject.project.settings 
http=127.0.0.1:2501 
+0

你能否讓Django拒絕來自外部IP的任何連接? – cwallenpoole

+0

@cwallenpoole實際上聽起來像一個非常整潔的解決方案。是settings.py上的配置嗎? –

+0

取決於你如何提供'Django'。 'python manage.py runserver'默認只監聽本地IP地址。 – cwallenpoole

回答

1

我只跑了幾個測試我的服務器,它看起來像你應該已經很好。

這裏是我的嘗試:

$ uwsgi --http :9090 --wsgi-file hello-world.py 
# I can see the server from an external request. 

$ uwsgi --http-socket :9090 --wsgi-file hello-world.py 
# I can see the server from an external request. 

$ uwsgi --http 127.0.0.1:9090 --wsgi-file hello-world.py 
# I cannot see the server from an external request. 

$ uwsgi --http 127.0.0.1:9090 --wsgi-file hello-world.py 
# I cannot see the server from an external request. 

通過包括127.0.0.1在該行進行配置,外部IP 應該能夠訪問應用程序,但Apache或Nginx的應該。

+0

啊!看起來似乎有一個沒有死亡的uwsgi進程,並且當進程停止時我設法訪問它。它正在工作! –

相關問題