• docker curl: (56) Recv failure: Connection reset by peer


    场景:在部署Django程序时,启动方式为gunicorn mysite.wsgi

    以这种方式启动后,容器内部访问正常,部署容器的虚拟机上访问正常,物理机上浏览器无法访问,

    此时修改启动方式为gunicorn -b 0.0.0.0:8000 mysite.wsgi:application

    修改后容器内部、虚拟机上、宿主机上都可以访问了,

    推测原因:

    不绑定端口的启动方式gunicorn mysite.wsgi, 

    这样会创建一个进程,包含了一个监听在 127.0.0.1:8000 的线程。

    https://docs.djangoproject.com/zh-hans/3.1/howto/deployment/wsgi/gunicorn/

    {0,0}:网络号和主机号都全部为0,表示“本网络上的本主机”,只能用作源地址。
    {0,host-id}:本网络上的某台主机。只能用作源地址。
    {-1,-1}:表示网络号和主机号的所有位上都是1(二进制),用于本网络上的广播,只能用作目的地址,发到该地址的数据包不能转发到源地址所在网络之外。
    {net-id,-1}:直接广播到指定的网络上。只能用作目的地址。
    {net-id,subnet-id,-1}:直接广播到指定网络的指定子网络上。只用作目的地址。
    {net-id,-1,-1}:直接广播到指定网络的所有子网络上。只能用作目的地址。
    {127,}:即网络号为127的任意ip地址。都是内部主机回环地址(loopback),永远都不能出现在主机外部的网络中

    外部主机是无法访问127的服务的,所以改绑定到0.0.0.0就行了,

    诸业皆是自作自受,休咎祸福,尽从心生。
  • 相关阅读:
    Android基础TOP4:Tost的使用
    Android基础TOP3_1:纵横屏切换
    Android基础TOP3:线性布局的特点,常用属性,及权重值
    Android基础TOP3:Activity的线性,相对,帧和表格布局的概括
    Android基础TOP2:单机按钮改变字体颜色
    Android基础TOP2_1:输出系统时间
    Python
    Linux-部署ftp
    Linux-部署mysql
    Python-创造百万条数据库数据
  • 原文地址:https://www.cnblogs.com/1394htw/p/14437871.html
Copyright © 2020-2023  润新知