在上一篇博客中,咱們只是經過nginx搭建了反向代理服務,因爲須要在小程序中使用https服務,因此須要申請安全證書。javascript
1.在所購買的域名商那申請免費的ssl證書,我買的是阿里的,因此直接在阿里上申請,並下載下來。具體申請方法能夠參考:https://yq.aliyun.com/articles/637307,https://yq.aliyun.com/articles/641517?spm=a2c4e.11153940.blogcont637307.20.577e259d9An8Dk。php
2.下載ssl的時候選擇nginx,下載後解壓會看到一個.key和.pem的文件,而後在服務器/etc/nginx/目錄下,建立ssl文件夾,而後將這兩個文件放入。css
3.在nginx.conf中配置,通常默認會在/etc/nginx/nginx.conf,配置以下:java
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # Virtual Host Configs ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; server{ #監聽443端口 listen 443; #對應的域名,把xxxxx.com改爲大家本身的域名就能夠了 server_name xxxxx.com; ssl on; #從阿里雲獲取到的第一個文件的全路徑 ssl_certificate /etc/nginx/ssl/xxxxx.pem; #從阿里雲獲取到的第二個文件的全路徑 ssl_certificate_key /etc/nginx/ssl/xxxxx.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { # proxy_pass http://xxxxx; # root /; proxy_redirect off; proxy_set_header Host $host; #請求主機頭字段,不然爲服務器名稱。 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; proxy_set_header Accept-Encoding ""; proxy_set_header X-Real-IP $remote_addr; add_header 'Access-Control-Allow-Origin' '*'; proxy_pass http://xxxxx.com:8000/; } location /wqgl/ { proxy_redirect off; proxy_pass http://xxxxx.com:3001/; } } server{ listen 80; server_name xxxxx.com; rewrite ^(.*)$ https://$host$1 permanent; # 把http的域名請求轉成https #location / { # proxy_pass http://xxxx; # root /; #proxy_redirect off; #proxy_set_header Host $host; #請求主機頭字段,不然爲服務器名稱。 #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ; #proxy_set_header Accept-Encoding ""; #proxy_set_header X-Real-IP $remote_addr; #add_header 'Access-Control-Allow-Origin' '*'; #proxy_pass http://xxxxx.com:8000/; #} #location /wqgl/ { #proxy_redirect off; #proxy_pass http://xxxxx.com:3001/; #} # location / { # try_files $uri $uri/ =404; # } } } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #}
這樣配置就成功,小程序就能夠正常訪問了。node