今天待著想起騰訊云有免費(fèi)1年的SSL證書(shū),然后點(diǎn)擊了申請(qǐng),擦啊擦,原來(lái)申請(qǐng)不是域名不合法,就是審核不通過(guò),這次我的www.opqnext.com 居然破天荒了哎,秒過(guò)...
- 那就開(kāi)始安裝吧
將域名 www.opqnext.com 的證書(shū)文件1 www.opqnext.com bundle.crt 、私鑰文件2_www.opqnext.com.key保存到同一個(gè)目錄,例如/usr/local/nginx/conf目錄下。
更新Nginx根目錄下 conf/nginx.conf 文件如下:
server {
listen 443;
server_name www.opqnext.com; #填寫(xiě)綁定證書(shū)的域名
ssl on;
ssl_certificate 1_www.opqnext.com_bundle.crt;
ssl_certificate_key 2_www.opqnext.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個(gè)協(xié)議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個(gè)套件配置
ssl_prefer_server_ciphers on;
location / {
root html; #站點(diǎn)目錄
index index.html index.htm;
}
}
| 配置文件參數(shù) | 說(shuō)明 |
|---|---|
| listen 443 | SSL訪問(wèn)端口號(hào)為443 |
| ssl on | 啟用ssl功能 |
| ssl_certificate | 證書(shū)文件 |
| ssl_certificate_key | 私鑰文件 |
| ssl_protocols | 使用的協(xié)議 |
| ssl_ciphers | 配置加密套件,寫(xiě)法遵循openssl標(biāo)準(zhǔn) |
然后 nginx -t 檢測(cè)配置文件 nginx -s reload 重啟nginx就OK了
我是這么想的,但是還是出現(xiàn)了問(wèn)題...
- 問(wèn)題1:unknown directive "ssl"
報(bào)錯(cuò)如下:
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/vhost/blog.com.conf:5
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
出現(xiàn)這個(gè)錯(cuò)誤說(shuō)明沒(méi)有將ssl模塊編譯進(jìn)nginx,在configure的時(shí)候加上“–with-http_ssl_module”即可
詳細(xì)一點(diǎn):
####### 下載你當(dāng)前版本的nginx包,并且解壓 進(jìn)到目錄
./configure --with-http_ssl_module
####### 切記千萬(wàn)不要make install 那樣就覆蓋安裝了
make
####### 將原來(lái)的nginx備份 備份之前先kill當(dāng)前正在啟動(dòng)的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
####### make之后會(huì)在當(dāng)前目錄生成 objs 目錄
cp objs/nginx /usr/local/nginx/sbin/nginx
####### 然后重新啟動(dòng)nginx
/usr/local/nginx/sbin/nginx
- 問(wèn)題2:http 轉(zhuǎn)到 https
據(jù)說(shuō)是有加rewrite的方法:
rewrite ^/(.*)$ http://domain.com/$1 permanent;
但是好像現(xiàn)在nginx新版本已經(jīng)換了種寫(xiě)法:
server {
listen 80;
server_name www.opqnext.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name www.opqnext.com;
[....]
}
反正這種方法挺好使,然后重啟 nginx 終于完成了!
文章來(lái)源:郭貳小姐的博客-opqnext.com