[英]Cherrypy application redirecting to http instead of https behind nginx
我有一個Cherrypy Webapp,我托管在帶有ssl的Nginx反向代理后面。
Nginx位置設置如下:
location /webapp {
proxy_pass http://127.0.0.1:8642;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
當我加載https://myaddress.com/webapp時,一切正常。 頁面加載正常。
但是,當我單擊任何鏈接時,它會打開http://myaddress.com/webapp/page ,當使用ssl在nginx后面時不會加載。
鏈接很簡單
<a href='/webapp/page'>Page</a>
然后,我可以手動打開加載正常的https://myaddress.com/webapp/page 。
我不知道為什么瀏覽器將其踢到http://而不是停留在https://
編輯:
我不久前就發現了這一點,卻忘記了這篇文章。
將主方法名稱從index()更改為default()可以解決此問題。 我不知道為什么,也無法在CherryPy文檔中找到任何東西。
因此,當訪問mysite.com/news時,Cherrypy現在返回News.default()而不是News.index(),並且這不會更改URI。
您是否啟用反向代理工具?
您可以通過添加到配置文件中來做到這一點:
tool.proxy.on = True
或通過裝飾。
@cherrypy.tools.proxy
該工具的部分功能是通過將協議從http
調整為https
來調整應用程序基礎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.