如何使用在Apache上使用HTTPS运行的烧录应用程序返回带有响应标头的css文件?

时间:2016-07-21 23:24:29

标签: apache https flask

我在ubuntu 14.04上的apache HTTP服务器上运行了一个烧瓶应用程序。一切都很好,但我现在正在努力使事情安全并启动并运行HTTPS。在请求HTTP URL时,内容仍然可以正确呈现,但在将前缀更改为HTTPS时,不会加载静态CSS文件。

一些有用的细节和以前的尝试:

  • 我的CSS文件位于通常的static/css位置。
  • This回答很有帮助,并且正确地进行了javascript渲染,但是因为某种原因使用AddType for CSS无法正常工作。
  • 我尝试sudo a2enmod mime以确保启用了Apache模块,而且它是。
  • 我尝试强制使用css的类型(类似于建议的here,但使用css代替jsjavascript),但这也不起作用。
  • 我尝试将AddType声明添加到位于/etc/apache/sites-available/FlaskApp.conf的配置文件中(这是成功AddType text/javascript .js声明所在的位置),我也尝试将{位于我的FlaskApp根目录中的AddType文件中的{1}}声明,但两次尝试均未成功。

使用.htaccess前缀访问网站时,所有内容都可以正常加载,而不是http://前缀。我试过从Chrome和Firefox访问它。

Chrome响应

在Chrome中加载页面时查看控制台会显示所有CSS文件的以下内容:

https://

查看网络标签,Resource interpreted as Stylesheet but transferred with MIME type application/x-gzip 请求与http请求之间的所有内容都相似,只是https请求完全缺少https部分。< / p>

尝试仅在Chrome中加载Response Headers文件时,会尝试下载该文件,而不是在浏览器中显示该文件。

Firefox响应

尝试仅在Firefox中加载/static/css/styles.css文件时,会在浏览器中加载。但是,它不是ascii文本,而是混乱的字符,好像它正在加载二进制文件。这是Firefox中的控制台错误消息:

/static/css/styles.css

所以我的问题是,如何让我的HTTPS / Flask / Apache / Ubuntu设置正确返回静态css文件,以便我的页面正确呈现?

This建议和this建议看起来很有希望,但我不知道如何制作它以便任何点击The character encoding of the plain text document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the file needs to be declared in the transfer protocol or file needs to use a byte order mark as an encoding signature. 的请求都会返回带有“内容类型”的正确css文件“或”mimetype“设置正确。

0 个答案:

没有答案