1. 程式人生 > >centos6.8+nginx搭建簡單的https服務器

centos6.8+nginx搭建簡單的https服務器

centos nginx 搭建簡單

這裏nginx搭建https服務器,必須幾個要求,第一有安裝openssl-devel,當然這個沒有貌似編譯添加ssl模塊會出錯。那如果編譯有不會的可以參考我前面的博客,當然baidu和google上資料也很多。


1、確認nginx服務器能正常運行

lsof -i:80

#查看80端口是否正常啟用,nginx默認80端口而不是443端口

netstat -ntpl | grep nginx | wc -l
ss -ntpl | grep nginx |wc -l

#這也是一種方法,wc -l是統計結果有多少行


2、備份原有的主配置文件

cp nginx.conf nginx.conf.https


3、使用openssl生成不信任的證書和私鑰

openssl genrsa -des3 -out https_1.key 2048

#首先創建私鑰,會提示輸入密碼,這個密碼一定要備份,如果在生產環境中,知道的人越少越好,因為nginx服務器正常重啟停止等操作都要密碼。

#genrsa:產生RSA密鑰命令,des3:機密解密算法,out:輸出的文件名,2048:表示長度也有叫大小的,我還是習慣長度。


openssl req -new -x509 -days 3650 -key https_1.key -out https_1.crt

#利用前面的私鑰創建不信任的證書(但好歹也是個證書)

#req:產生證書簽發申請命令,-new:表示新的請求,x509簽發x.509格式的證書,表示證書有效的天數,key指定私鑰文件,out:輸出的文件名


4、修改nginx配置文件

註意:以下操作都是在一個server標簽裏配置的

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
    
        listen       443;
	server_name localhost;
	ssl		on;
	ssl_certificate		/usr/local/nginx/conf/https_1.crt;
	ssl_certificate_key	/usr/local/nginx/conf/https_1.key;
	ssl_session_timeout	5m;
	ssl_protocols	SSLv3	TLSv1;
	ssl_prefer_server_ciphers on;
	
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

############################################################

listen:監聽的端口

server_name:其實就是域名

ssl on:開啟ssl

ssl_certificate:表示證書存放的路徑,建議用絕對路徑

ssl_certificate_key:表示私鑰路徑,建議用絕對路徑

ssl_session_timeout 5m:表示證書在客戶機緩存的生命周期,特別提醒下證書是個很貴的東西要保存好。

ssl_protocols SSLv3 TLSv1:證書使用的協議

ssl_prefer_server_ciphers on:SLv3和TLSv1協議的服務器密碼需求優先級高於客戶端密碼(這個我也不清楚,可以肯定的是應該是一個優化參數)

ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT56:!EXP:這個參數我沒用,因為不知道怎麽用

############################################################



5、重啟nginx

/usr/local/nginx/sbin/nginx -s reload

#重啟完一定要查看端口情況,因為並不是每一次重啟都能成功的。

lsof -i:443

#如果沒有說明重啟不成功


提示:可以killall nginx後重新啟動。防火墻要允許443端口而不是80端口。


6、使用客戶機訪問,查看結果

技術分享



vpersoning:如果又出錯的地方可以私聊我,我是新手,但是我喜歡問題。




本文出自 “10846118” 博客,請務必保留此出處http://10856118.blog.51cto.com/10846118/1941598

centos6.8+nginx搭建簡單的https服務器