Nginx的產生
沒有聽過Nginx?那麼一定聽過它的"同行"Apache吧!Nginx同Apache一樣都是一種WEB服務器。基於REST架構風格,以統一資源描述符(Uniform Resources Identifier)URI或者統一資源定位符(Uniform Resources Locator)URL作爲溝通依據,通過HTTP協議提供各種網絡服務。
簡單說,你的騰訊雲主機想成爲能通過http請求到數據的服務器,就必須配置成WEB服務器,Nginx就是WEB服務器的其中一種類型。所以在實現http轉https之前,你需要配置你的騰訊雲服務器爲Nginx服務器。
一、Linux 安裝Nginx
rpm 包方式(推薦)
(1)進入下載頁面,選擇合適版本下載。
$ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
(2)安裝 nginx rpm 包
nginx rpm 包實際上安裝的是 nginx 的 yum 源。
$ rpm -ivh nginx-*.rpm
(3)正式安裝 rpm 包
$ yum install nginx
(4)關閉防火牆
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
(5) 啓動 Nginx
安裝成功後,直接執行 nginx
命令即可啓動 nginx。
啓動後,訪問站點:
Linux 開機自啓動
Centos7 以上是用 Systemd 進行系統初始化的,Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啓動速度。Systemd 服務文件以 .service 結尾。
rpm 包方式
如果是通過 rpm 包安裝的,會自動創建 nginx.service 文件。
直接用命令:
$ systemctl enable nginx.service
設置開機啓動即可。
二、配置SSL證書
Nginx 證書部署
獲取證書
Nginx文件夾內獲得SSL證書文件 1_www.domain.com_bundle.crt 和私鑰文件 2_www.domain.com.key,
1_www.domain.com_bundle.crt 文件包括兩段證書代碼 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,
2_www.domain.com.key 文件包括一段私鑰代碼“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
證書安裝
將域名 www.domain.com 的證書文件1_www.domain.com_bundle.crt 、私鑰文件2_www.domain.com.key保存到同一個目錄,例如/usr/local/nginx/conf目錄下。
更新Nginx根目錄下 etc/nginx/conf.d/default.conf 文件如下:
server {
listen 80;
server_name www.xx.com;
rewrite ^(.*) https://$host$1 permanent;//將http 請求跳轉https
}
server {
listen 443;
server_name www.xx.com; #填寫綁定證書的域名
ssl on;
ssl_certificate 1_www.xx.com_bundle.crt;
ssl_certificate_key 2_www.xx.com.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_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_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://127.0.0.1:3000;
}
}
配置完成後,重啓nginx。就可以使用 https://www.domain.com
來訪問了。
注:
配置文件參數說明
listen 443 | SSL訪問端口號爲443 |
ssl on | 啓用SSL功能 |
ssl_certificate | 證書文件 |
ssl_certificate_key | 私鑰文件 |
ssl_protocols | 使用的協議 |
ssl_ciphers | 配置加密套件,寫法遵循openssl標準 |