https协议是否可以使用80端口?

2013-08-12 11:24:47 +08:00
 georgetso
有这个奇葩需求, 是因为网龙(91助手)的技术实力实在太糟糕, 要求必须使用80端口, 可是支付这种事情, 我们有要求必须用ssl加密, 所以问问.
42751 次点击
所在节点    问与答
15 条回复
linchanx
2013-08-12 11:25:59 +08:00
443
georgetso
2013-08-12 11:27:10 +08:00
@linchanx 同学, 请看问题描述
BeijingBaby
2013-08-12 11:27:56 +08:00
要求必须使用80端口?
rwx
2013-08-12 11:32:58 +08:00
理论上是可以的,但是链接上必须指定端口吧
就像 https://www.google.com:80/ ,当然,这个会出错,因为80提供的不是https服务:)
服务端监听哪个端口是服务端的自由,但是客户端如果不指定连接端口的话是会根据协议指定默认端口的
georgetso
2013-08-12 11:35:42 +08:00
@BeijingBaby 必须使用80
@rwx 我想应该也可以, 估计也得用 url:80 来做, 我现在试试
georgetso
2013-08-12 11:51:37 +08:00
@georgetso 试验过了, nginx上搞, 出现错误
curl: (35) error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
georgetso
2013-08-12 11:52:05 +08:00
91的一群废物
rrfeng
2013-08-12 12:03:47 +08:00
当然可以使用

但是客户端请求是不会指向 80 的,客户端看到 https 的连接,默认访问 server:443

要么访问 https://domain:80/

要么在f5之类的设备上做映射……

但是,http 和 https 可能是冲突的,应该是不能共存于同一个端口。
msg7086
2013-08-12 12:45:55 +08:00
@georgetso

listen 1.1.1.1:80;
listen 1.1.1.2:80 ssl spdy;
ssl_certificate a.crt;
ssl_certificate_key a.key;
likexian
2013-08-12 12:47:33 +08:00
可以指定80,但必须通过ssl链路,对方不一定支持
zava
2013-08-12 13:08:43 +08:00
太蛋疼了。
est
2013-08-12 13:16:33 +08:00
可以多路复用 http+https 统一在80端口。当然,你需要自己撸,或者找一个高效率的http/ssl 流量分离器跑在nginx前边。我记得某个github项目支持把n种常见协议跑在同一个端口。很牛逼~地址忘记了。
insight
2013-08-12 13:28:39 +08:00
11138
2013-08-12 14:03:25 +08:00
好像只有 #10 likexian 说得比较接近。

https协议和80端口没关系的,只不过用https连接的时候如果没有指定端口的话会默认用443。同样,http协议也可以用443端口。

所以楼主的问题关键在于对方是否支持https协议。
StackGao
2016-06-09 17:42:20 +08:00
80 端口是否可以既支持 http 也支持 https?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/78809

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX