为什么打开浏览器输入的网址前面都会加上一个https或者http呢?
因为这是为了方便!
我们通过一个IP地址可以定位到一台服务器,但如何精确到服务器里的某项服务呢?
这就需要加上端口号;服务器里的某项服务开始对外服务,那它一定会开始监听某一个或多个端口,所以ip+port就可以精确到我们所需要的服务。
http默认端口号为80,https默认端口号为443,什么叫做默认?就是说如果我们在ip后面没有加上端口的话,那浏览器就会根据你所使用的协议的默认端口;
也就是若你ip前面使用http协议,则会使用80端口;若你IP前面使用https协议,则会使用443端口。
那你或许又疑惑了,一般输入网址时也没输入所谓的协议啊?
这其实是浏览器强制给你加上去的,当然你也可以手动改,但咱不是懒嘛,而且现在大多数网站都是使用https,所以说这是强制,也是图个方便。
再说说域名。为什么使用域名呢?因为数字难记。
域名通过DNS解析器解析出ip地址,然后再通过该ip去找相应的服务器。
你可能又会发现,现在使用的大多数协议不是https就是http, 但你输入了无数的网址又都没有加过端口,难道说这些给你提供服务的端口都是443或者80吗?
想想就知道,肯定不是啊!那它是如何实现的呢?这就要谈谈nginx反向代理了。
虽然你使用的是https的默认端口443,当然目标服务器也是开通了443端口的,但它为你提供服务的端口不一定就是443
server{ listen 443; # 监听80端口 server_name baidu.com; # 请求的域名 location /{ proxy_pass https://27.68.123.145:8001; } }
上面这个nginx反向代理的意思就是baidu.com:443会自动转到https://27.68.123.145:8001
这也就看出真正提供服务的端口是8001;其实docker容器里的端口映射原理也是这样。
3月初,继续加油!
标签:http,443,IP,端口,深入,https,ip,80 From: https://www.cnblogs.com/ReturnOfTheKing/p/17167093.html