阿里云https+nginx服務搭建

原文地址:阿里云https+nginx服務搭建

本文不會介紹https相關知識,只是把我創建https服務的過程分享出來,供讀者參考。并且已經假設你已經購買了服務器和域名。

購買證書

  • 通過控制臺進入CA證書服務,點擊右上角的購買證書,進入如下圖的界面,選擇免費的SymantecDV SSL
購買https證書
購買https證書
  • 一路點過去,然后回到證書服務主頁,會出現一條訂單信息,點擊補全,如下圖所示。
證書信息補全
證書信息補全
  • 然后按照要求,首先填寫你要申請證書的完整域名(例如www.test.com,因為此證書為單域名,不能使用通配符);然后填寫個人信息,值得注意的是需要勾選下圖紅圈包圍的選項,讓驗證自動化進行,不用手動操作;然后下一步,完成信息補全,等待幾分鐘,驗證就可以通過。
個人信息
個人信息

添加443端口(https)安全組規則

  • 等待的這個時間,你可以去檢查一下你的服務器的安全組配置,看一下是否加入了443端口的鏈接,防止后面連接不上。創建的新規則如下圖。
?添加https安全組
?添加https安全組

下載證書

  • 幾分鐘后,可以看到下圖的狀態。
完成證書簽發
完成證書簽發
  • 接著點擊下載,進入下圖的界面,并點擊下載證書for Nginx
下載證書
下載證書

配置Nginx服務器

  • 把這個文件解壓后,會有兩個文件,分別為***.pem***.key(可以修改成你需要的名字),將這兩個文件拷貝到你的Nginx根目錄下的cert文件夾內(自己創建的,也可以命名成其他名字)。

  • 接下來就要配置Nginx服務器了。

如果你配置了反向代理,?就去conf.d目錄下,修改你要配置https的?conf文件。下面貼一個范例配置。其中端口80為http鏈接,設置為重定向https;端口443為https鏈接。

如果沒有配置反向代理,應該可以直接在根目錄下的nginx.conf中添加配置就行了(去掉最前面upstream test),這個我還沒試過,感興趣的小伙伴可以去試試。

upstream test {
  server 127.0.0.1:8080;
}

server {
  listen 80;
  server_name www.test.com;
  return 301 https://$host$request_uri;
}
server {
    listen 443;
    server_name www.test.com;

    ssl on;
    index index.html;
    ssl_certificate   /etc/nginx/cert/***.pem;
    ssl_certificate_key  /etc/nginx/cert/***.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 / {
    proxy_set_header  X-Forwarded-Host $host;
    proxy_set_header  X-Forwarded-Proto $scheme;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    expires off;
    sendfile off;
    proxy_pass http://test;
  }
}
  • 配置完以后運行nginx -s reload重新加載配置,去瀏覽器輸入鏈接,此時成功進入https鏈接??。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容