1. 程式人生 > >nginx伺服器配置支援https

nginx伺服器配置支援https

本文分享阿里雲伺服器如何配置支援https。

環境

阿里雲伺服器centos 7.2
web伺服器 nginx 1.2

準備工作

1、申請證書
阿里雲的證書是可以免費申請的,到阿里雲控制檯的安全(雲盾)-CA證書服務模組申請。申請完證書之後可以觀看阿里雲的幫助視訊瞭解如何使用證書
2、安裝openssl
nginx安裝的時候如果未編譯openssl需要安裝openssl (預設是未編譯的)
如果在配置nginx時報錯unknown directive “ssl_certificate” in /usr/local/nginx/conf/nginx.conf 那麼就需要安裝openssl模組了。

yum install openssl
yum install openssl-devel

配置

1、將證書檔案拖到伺服器的指定目錄下,然後再nginx的conf配置檔案中開啟https的配置

server {
    server_name localhost;
    listen 443;
    ssl on;
    ssl_certificate //你伺服器的那個pem檔案的路徑
    ssl_certificate_key //你伺服器的那個key檔案的路徑;

}

2、重啟nginx伺服器
若出現unknown directive “ssl_certificate” in /usr/local/nginx/conf/nginx.conf
則說明nginx未編譯openssl模組
使用如下命令:

./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=<openssl dir>

特別注意的是openssl dir是原始碼的路徑而不是安裝路徑。
執行上述命令後重啟如還未解決問題時,需要手動下載openssl的包到伺服器。

wget -c http://www.openssl.org/source/openssl-1.0.0e.tar.gz 
tar -xzf openssl-openssl-1.0.0e.tar.gz
openssl
OpenSSL> version
-a

觀察是否列印正確的版本資訊。如不正確則需要改下環境變數。具體方法可百度。
然後

./configure --with-http_stub_status_module --with-http_ssl_module --with-openssl=<openssl dir>

openssl dir指定到剛解壓的openssl目錄
在nginx解壓目錄下執行 make等待編譯完成重啟nginx。基本上nginx便啟動成功了。那麼就可以使用https訪問我們的伺服器了。如果未能正常訪問,請檢視防火牆狀態,檢視443埠是否處於監聽狀態。