Home  >  Q&A  >  body text

node.js - How to set up the local backend server of WeChat applet with express?

The official document of the WeChat applet reads:

The request is https, and the port cannot be included


1. How to make express connect directly without listening to the port?

2. Does the link established by the WeChat applet have to be https? How to get https?

我想大声告诉你我想大声告诉你2687 days ago685

reply all(1)I'll reply

  • 迷茫

    迷茫2017-05-16 13:36:21

    1. nginx listens to the local express port 3000;
    2. Alibaba Cloud can apply for a free https certificate

    user  www www;
    worker_processes  1;
    
    error_log  /alidata/log/nginx/error.log crit;
    pid        /alidata/server/nginx/logs/nginx.pid;
    
    #Specifies the value for maximum file descriptors that can be opened by this process. 
    worker_rlimit_nofile 65535;
    
    events 
    {
      use epoll;
      worker_connections 65535;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #chaset  gb2r312;
    
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 8m;
    
        sendfile on;
        tcp_nopush     on;
    
        keepalive_timeout 60;
    
        tcp_nodelay on;
    
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
    
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml;
        gzip_vary on;
        #limit_zone  crawler  $binary_remote_addr  10m;
        log_format '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
        include /alidata/server/nginx/conf/vhosts/*.conf;
        upstream nodejs {
                    server 127.0.0.1:3000;
            }
        server {
        listen 443;
        server_name location;
        ssl on;
        root /alidata/www/api/;
        index index.html index.htm;
        ssl_certificate   /alidata/server/nginx/cert/****************.pem;
        ssl_certificate_key  /alidata/server/nginx/cert/****************.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    location / {
     proxy_pass http://nodejs;
      }
    location ~.*\.(ico|jpe?g|png)$ {
    }
    #    location / {
    #       root html;
    #        index index.html index.htm;
    #    }
    }
    }
    
    
    
    

    You can refer to my conf configuration file that has been posted. The listening port 3000 and certificate preparation are all modified in this file

    The following is the address for Alibaba Cloud to apply for a free certificate
    https://common-buy.aliyun.com...

    Alibaba Cloud also has specific examples of configuring HTTPS

    reply
    0
  • Cancelreply