2017年3月7日 星期二

NGINX 反向代理設定

編輯NGINX網站設定檔 
vim /etc/nginx/sites-available/default
將設定加入最後面


location / {

      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_set_header        X-Forwarded-Proto $scheme;

      # Fix the “It appears that your reverse proxy set up is broken" error.
      proxy_pass          http://Domain_or_IP;
      proxy_read_timeout  90;

      proxy_redirect      http://Domain_or_IP  https://Domain_or_IP;
    }

最後重新啟動 nginx 服務:
sudo service nginx restart

NGINX SSL設定

安裝NGINX

sudo apt-get update
sudo apt-get install nginx

版本查詢
nginx -v

產生私鑰目錄
cd /etc/nginx/ssl

產生私鑰
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr

example_com.key         所產生的金鑰CODOMO將會連線驗證ngxinx SSL。
example_com.csr          CSR文件。(貼於CODOMO才能產生網頁驗證檔如下圖)









下載憑證放置於/etc/nginx/ssl
憑證內容
根CA證書 - AddTrustExternalCARoot.crt
中級CA證書 - COMODORSAAddTrustCA.crt
中級CA證書 - COMODORSADomainValidationSecureServerCA.crt

PositiveSSL證書 - www_example_com.crt(自己建立的子網域名稱)
合併憑證檔
1.將上述crt文件合併成一個ssl-bundle.crt(順序很重要):
  1. cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt> ssl-bundle.crt
2.將ssl-bundle.crt放置在/etc/nginx/ssl的位置
編輯NGINX網站設定檔 
vim /etc/nginx/sites-available/default
增加以下名稱內容
        listen 443 ssl default_server;
        listen [::]:443 ssl default_server;
        ssl_certificate_key /etc/nginx/ssl/example_com.key;
        ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;

最後重新啟動 nginx 服務:
sudo service nginx restart

這樣即可完成憑證設定!