Nginx 的https配置


準備兩個東西可以從阿里雲啊下載,推薦去阿里雲,因爲其他的沒試過。

1.證書文件****.pem

2.證書私鑰文件****.key
3.         安裝linux最基礎環境(jdk,tomcat,mysql)
4.         安裝nginx 配置
一、安裝準備
     首先由於nginx的一些模塊依賴一些lib庫,所以在安裝nginx之前,必須先安裝這些lib庫,這些依賴庫主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以執行如下命令安裝
                         yum install gcc-c++;
                        yum install pcre pcre-devel;
                        yum install zlib zlib-devel;
                        yum -y install openssl openssl--devel; 
二、安裝Nginx 

    安裝之前,最好檢查一下是否已經安裝有nginx

                      Find -name nginx   

    如果系統已經安裝了nginx,那麼就先卸載

                        yum remove nginx  
 
    首先進入/usr/local目錄
                        cd /usr/local
 
    從官網下載最新版的nginx
                        wget http://nginx.org/download/nginx-1.7.4.tar.gz
 
    解壓nginx壓縮包
                        tar -zxvf nginx-1.7.4.tar.gz
 
    會產生一個nginx-1.7.4 目錄,這時進入nginx-1.7.4目錄
                        cd nginx-1.7.4
 
安裝一些ssl模塊用來支持https
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  --with-http_realip_module
 
    make
                    make install
 
    如果沒有報錯,順利完成後,最好看一下nginx的安裝目錄
                        whereis nginx
 
    把proxy.conf傳入 /usr/local/nginx/conf
 
在/usr/local/nginx 下創建cert文件夾,將安全證書.key和.pem傳入進來
在/usr/local/nginx  下創建html文件夾,用於放入項目的靜態資源
進入/usr/local/nginx/conf 下配置nginx.conf 配置文件如下
 
 


user  root;
worker_processes  8;


events {
    worker_connections  10240;
}




http {
    include       mime.types;
    default_type  application/octet-stream;
#此爲proxy.conf文件的路徑
include /usr/local/nginx/conf/proxy.conf;


    sendfile        on;


    keepalive_timeout  65;


#配置tomcat訪問地址
upstream  backend{      
        #ip_hash;
        server 127.0.0.1:8080;
    } 

server {
listen 80;
#寫入域名地址
server_name xxx.xxx.xxx;
#配置https://前綴
rewrite ^(.*)$ https://${server_name}$1 permanent;
}



server {


listen 443;
#寫入域名地址
server_name xxx.xxx.xxx;


ssl on;


root html;


index index.html index.htm;
#寫入證書文件地址以.pem結尾的路徑
ssl_certificate /usr/local/nginx/cert/xxx.pem;
#寫入證書祕鑰文件地址以.key結尾的路徑
ssl_certificate_key /usr/local/nginx/cert/xxx.key;


ssl_session_timeout 5m;


ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;


ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


ssl_prefer_server_ciphers on;


location / {
root   html;
index  welcome.jsp index.html index.htm;

#設置主機頭和客戶端真實地址,以便服務器獲取客戶端真實IP


proxy_set_header Host $host;


proxy_set_header X-Real-IP $remote_addr;


proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://backend;   

}

        location ~ .*.jsp$ {
index welcome.jsp;
proxy_pass http://localhost:8080;
        }

error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
            #expires      30d;
            #這目錄是我web服務器的項目位置,這裏的目錄需要最好和web服務器的靜態資源的目錄一樣,當請求web服務器的css文件的時候,nginx會獲取url地址,然後根據url地址去                
            #訪問url對應的本地目錄資源/這裏就是nginx訪問的靜態資源地址
            root html;
            if (-f $request_filename) {
               expires 1d;
               break;
            }
        }

location ~ .*\.(js|css)?$
        {
#expires      1h;
root html;
if (-f $request_filename) {
expires 1d;
break;
}
        }
}






}


 
 
三 注意事項和啓動關閉nginx
安裝完畢後,進入安裝後目錄(/usr/local/nginx)便可以啓動或停止它了。
 
    開啓nginx:/usr/local/nginx/sbin/nginx
 
查看80端口程序:netstat -tulnp | grep ':80 '
查看433端口程序:netstat -tulnp | grep ':433'
                若安裝成功,則80和443端口都會啓動起來
pkill -9 nginx          :強制停止Nginx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章