【发布时间】:2022-01-13 05:02:34
【问题描述】:
我使用 Python 2.7 和 socket 模块编写了一个套接字服务器。
当我发出 HTTP 请求时,一切都按预期工作:服务器接受它并正确回答。但如果不是(假设)http://a.com 我浏览 https://a.com 我收到某种加密的标头,我不知道如何告诉客户端服务器不支持 HTTPS。
我用谷歌搜索了一下,但没有什么好处。我尝试使用纯 HTTP 进行回复,但浏览器显然忽略了该响应。
如果有人能告诉我一种告诉客户没有 SSL 的方法,那真的会对我有帮助。
提前致谢。
【问题讨论】:
-
在大多数情况下,会有一个网络服务器 (nginx/apache/etc.) 可以处理您的 python 应用程序的 SSL 和代理。运行一个网络服务器并让 python 监听一个套接字文件或锁定对本地主机的请求。
-
我不确定是否有办法让您的连接既是 ssl 又是非。在所有情况下,我都认为您需要单独的端口,通常是 80 (http)、443 (https)
-
谢谢克里斯。但是如果我想要 强制客户端访问 http 呢?我知道这并不安全,只是想知道。
-
nginx可以配置监听,默认为https,serverfault.com/questions/10854/…