簡體   English   中英

Cherrypy應用程序重定向到http而不是nginx后面的https

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM