前言
近期,由于要發布微信小程序,小程序的發布必須使用已備案的服務器域名及https的請求方式,之前已經備案過一臺服務器了,此次小程序的后臺服務部署在另一臺服務器上,又不想重新部署后臺服務,所以想到在已經備案過的服務器上安裝nginx并配置ssl,通過nginx反向代理到另一臺服務器。
一.nginx安裝
筆者使用的是騰訊云服務器centos 7.5, 安裝教程網上有很多,筆者這里也是根據網上的教程進行一個記錄。主要安裝過程中需要配置添加nginx的ssl模塊。如已成功安裝可跳過。
1.下載nginx
下載地址:index of /download/
下載完成傳輸到服務器上或者也可通過wget命令下載:
1
|
wget http: //nginx .org /download/nginx-1 .9.0. tar .gz |
2.安裝依賴
1)安裝gcc-c++編譯器
1
2
|
yum install gcc-c++ yum install -y openssl openssl-devel |
2)安裝pcre包
1
|
yum install -y pcre pcre-devel |
3)安裝zlib包
1
|
yum install -y zlib zlib-devel |
3.編譯安裝nginx
1)解壓安裝包
1
|
tar -zvxf nginx-1.9.0. tar .gz |
2)切換至nginx目錄,配置nginx,添加ssl模塊
1
2
|
cd nginx-1.9.0 . /configure --with-http_ssl_module |
./configure --with-http_ssl_module必須配置,筆者第一次安裝時直接使用了默認配置導致配置ssl證書時啟動報錯。
3)編譯安裝
1
|
makemake install |
4)查找安裝路徑
1
|
whereis nginx |
5)切換至安裝目錄下,并進入sbin目錄,啟動nginx
1
|
cd /usr/local/nginx/sbin . /nginx |
6)查看nginx是否啟動成功
二.ssl配置
1)獲取證書
筆者這里使用的是騰訊云,可在騰訊云申請免費證書,并下載nginx版本
2)將下載得到的所有證書文件上傳至服務器上,放置在nginx的conf目錄下(與配置文件同級)。
3)進入nginx.conf文件,配置ssl信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application /octet-stream ; sendfile on; keepalive_timeout 65; server { listen 443; # 證書綁定的域名 server_name xxxxx; # 證書文件名稱,親測這里使用.pem和.crt的證書文件都可以 ssl_certificate xxxx.pem; # 由于版本問題,部分版本配置文件需加上ssl on ssl on; #私鑰文件名稱 ssl_certificate_key xxx.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 / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x .html; location = /50x .html { root html; } location /ctp/ { # 填寫要轉發的服務器地址和端口 proxy_pass http: //ip :port; } } } |
詳細證書配置教程可參考騰訊云:ssl 證書 nginx 服務器 ssl 證書安裝部署 - 證書安裝 - 文檔中心 - 騰訊云
三.wss配置
nginx配置websocket的代理比想象種簡單很多,使用http的upgrade協議頭就能將連接從http連接升級到websocket連接,具體配置如下:
1
2
3
4
5
6
|
location /ctp/ { # 填寫要轉發的服務器地址和端口 proxy_pass http: //ip :port; proxy_set_header upgrade $http_upgrade; proxy_set_header connection 'upgrade' ; } |
到此這篇關于nginx配置ssl和wss步驟介紹的文章就介紹到這了,更多相關nginx配置ssl和wss內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/jockerwu/article/details/122035878