title: django channels behind https
body: <p>Django-channels websocket was working well on a AWS server until I installed letsencript ssl. I tried another certificate but the wss is not working. I saw this online deployment that shows that channels can work behind https:</p>
  
  <p><a href="https://django-channels-example.herokuapp.com/" rel="noreferrer">https://django-channels-example.herokuapp.com/</a></p>
  
  <p>I followed andrewgodwin sugestions here:</p>
  
  <p><a href="https://github.com/django/channels/issues/248" rel="noreferrer">https://github.com/django/channels/issues/248</a></p>
  
  <p>I pointed daphne to port 8000:</p>
  
  <pre><code>daphne -b 0.0.0.0 vp.asgi:channel_layer --port 8000 -v 2
  </code></pre>
  
  <p>And I used the same port in my javascript:</p>
  
  <pre><code>chatsock = new WebSocket( ws_scheme + '://' + window.location.host + ":8000/chat" );
  </code></pre>
  
  <p>My nginx config: </p>
  
  <pre><code>server {
          listen 80;
          server_name mysite.com www.example.com;
          return 301 https://www.example.com$request_uri;
  }
  
  server{
          listen 443 ssl;
          server_name mysite.com www.example.com;
          ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
          ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
          root /home/ubuntu/vp;
  
          access_log /var/log/nginx/guni-access.log;
          error_log /var/log/nginx/guni-error.log info;
  
          location /wss/ {
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;
                  proxy_set_header Host $http_host;
                  proxy_pass http://0.0.0.0:8000;
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection "upgrade";
          }
  
      location / {
          proxy_pass http://0.0.0.0:8000;
          proxy_set_header    HOST    $host;
          proxy_set_header    X-Real-IP   $remote_addr;
          proxy_set_header    X-Forwarded-for $remote_addr;
          proxy_set_header X-Forwarded-Proto $scheme;
          port_in_redirect off;
          proxy_connect_timeout 300;
      }
  
      location ~ /.well-known {
                  allow all;
          }
  
      location /static/ {
          alias /home/ubuntu/vp/static/;
          expires 30d;
      }
  }
  </code></pre>
  
  <p>My browser tells that:</p>
  
  <p>Firefox can’t establish a connection to the server at wss://example.com:8000/chat.</p>
  
  <p>Any suggestions?
  Thanks. </p>