我在Bluemix上有python应用程序,并希望只通过https访问它。默认情况下,我可以通过http和https连接。想要通过https限制访问权限。那么,禁用http访问或仅将请求重定向到https的最佳方法是什么?
答案 0 :(得分:1)
Bluemix代理服务器终止SSL,以便所有流量看起来像您的应用程序的HTTP。但是,代理还会添加一个名为$ WSSC的特殊HTTP标头,其值可以是http或https。检查此标头,如果该值设置为http,则将其更改为https。
正如亚当在评论中指出的那样,IBM论坛进一步讨论了这种方法:https://developer.ibm.com/answers/questions/16016/how-do-i-enforce-ssl-for-my-bluemix-application.html
答案 1 :(得分:1)
在答案中提及ralphearle时,Bluemix代理服务器会终止SSL,因此您可以查看X-Forwarded-Proto
标头,以确定请求是来自http
还是{{1} }。
下面是一个基于Bluemix的Python入门代码的简单示例。我添加了https
类来检查RedirectHandler
标头值,并将请求重定向到X-Forwarded-Proto
,如果它不是https
。
https