国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

升級你的hexo為https

james / 3298人閱讀

摘要:可以使用多個添加多個域名可以幫我們自動注冊證書,是靜態資源所指的路徑。輸入命令之后選擇即可,后續將會讓你繼續輸入郵箱信息如果出現字樣,則證明證書已被自動注冊。

本文以Debian 8為服務器栗子

最近升級了個人博客為https協議,寫一個詳細的教程幫助更多人升級https。

https的詳細原理在此文中省略,簡略來說,既是客戶端在訪問服務器時需要一個數字證書(里面包括公鑰),它由權威機構(CA, Certificate Authority)頒發,來確認公鑰確實是服務器發出來的。

證書價格不菲,大概7天需要幾美金到幾百美金不等(根據認證的等級和域名覆蓋范圍區分),所以很多證書都是商業級的,提供給商業網站使用。

獲取免費證書

那么個人將無法獲取數字證書么?不是的,為了鼓勵https的普及,EFF成立了免費證書最大的提供商為Let’s Encrypt,可以提供免費證書。那么小型的網站,就可以使用免費證書升級為https啦。

當然Let’s Encrypt生成的證書,只能是單域名的,而且只有最低級的域名驗證。

克隆letsencrypt客戶端
$ git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
如果遇到權限問題,記得先創建/opt/letsencrypt文件夾再,更改文件夾權限為可寫入。
注冊證書 Nginx指向靜態路徑注冊證書

注冊一個域名證書非常簡單,使用letsencrypt就能生成https所需的證書。當然,用letsencrypt生成的證書只支持域名驗證,只需要用letsenctypt的自動注冊證書命令,證明這個域名是自己的是用的即可。

$ cd /opt/letsencrypt
$ ./letsencrypt-auto certonly -a webroot --webroot-path=/var/www/me -d me.chanchun.com.cn # 可以使用多個 -d 添加多個域名

letsencrypt可以幫我們自動注冊證書,--webroot-path是靜態資源所指的路徑。-d是域名域名,也可以多個-d增加多個域名。最后確保使用https的域名都被letsencrypt注冊。

后續將會讓你繼續輸入郵箱信息

如果出現Congratulations!字樣,則證明證書已被自動注冊。

Nginx轉發型注冊證書

如果是使用Nginx直接重定向服務器本地服務,非靜態資源,就省略--webroot-path-a參數。

$ cd /opt/letsencrypt
$ ./letsencrypt-auto certonly -d ca.chanchun.com.cn

輸入命令之后

How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Nginx Web Server plugin (nginx)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter] (press "c" to cancel):

選擇1即可,后續將會讓你繼續輸入郵箱信息

如果出現Congratulations!字樣,則證明證書已被自動注冊。

Nginx配置

直到這一步,證書已經就緒,只要配置好Nginx即可完美升級https。Nginx安裝、啟動教程請具體請教Nginx教程。

轉發到本地服務Nginx配置Sample:
#http重定向到https配置 證書驗證配置
server {
    listen 80;
    server_name ca.chanchun.com.cn; # 這里寫你的域名
    location ^~ /.well-known/acme-challenge/ { # 不要修改 letsencrypt需要驗證你的域名
        default_type "text/plain";
        proxy_pass http://localhost:3000; # 填寫你需要轉發的服務器地址
    }
    location = /.well-known/acme-challenge/ { # 不要修改 letsencrypt需要驗證你的域名
        return 404;
    }
    return 301 https://$server_name$request_uri;
}

# https配置
server {
    # SSL Configuration
    listen 443 ssl;
    server_name ca.chanchun.com.cn; # 這里寫你的域名

    # copy from https://cipherli.st
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off; # Requires nginx >= 1.5.9
    ssl_stapling on; # Requires nginx >= 1.3.7
    ssl_stapling_verify on; # Requires nginx => 1.3.7
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    # specify cert files
    ssl_certificate /etc/letsencrypt/live/ca.chanchun.com.cn/fullchain.pem; # 中間填寫你的域名
    ssl_certificate_key /etc/letsencrypt/live/ca.chanchun.com.cn/privkey.pem; # 中間填寫你的域名
    location / {
        proxy_pass http://localhost:3000; # 填寫你需要轉發的服務器地址
    }
}
指向靜態文件Nginx配置Sample:
server {
    listen 80;
    server_name me.chanchun.com.cn; # 這里寫你的域名
    location ^~ /.well-known/acme-challenge/ {
        default_type "text/plain";
        root /var/www/me; # 這里寫你的靜態文件目錄
    }
    location = /.well-known/acme-challenge/ {
        return 404;
    }
    return 301 https://$server_name$request_uri;
}

server {
    # SSL Configuration
    listen 443 ssl;
    server_name me.chanchun.com.cn;  # 這里寫你的域名
   # specify cert files
    ssl_certificate /etc/letsencrypt/live/me.chanchun.com.cn/fullchain.pem;  # 中間寫你的域名
    ssl_certificate_key /etc/letsencrypt/live/me.chanchun.com.cn/privkey.pem;  # 中間寫你的域名
    location / {
        root  /var/www/me; # 這里寫你的靜態文件目錄
        index index.html index.htm; # 這里寫你暴露的靜態文件
    }
}

Nginx配置各有各的配置方法,這里只要保證四點:

域名配置正確

靜態文件目錄路徑、本地服務目錄路徑配置正確

.well-known/acme-challenge目錄配置正確

要保證80默認端口和443ssl端口都有配置

如果配置好Nginx,那么訪問網站就會有綠色的小鑰匙啦,說明你的https站點搭建好。

自動更新證書

letsencrypt證書最多只有90天,90天之后我們需要重新注冊證書,當然這個可以交給服務器自己做啦。

驗證自己的證書是否可以更新
$ cd /opt/letsencrypt
$ ./letsencrypt-auto renew --dry-run
此命令只是驗證 不會更新證書

如果出現Congratulations!字樣或者已經更新字樣則證明可以自動更新。如果出現錯誤,或者說路徑找不到的情況,大多數情況是.well-known/acme-challenge目錄配置沒有正確的配置成功

編寫crontab腳本
$ crontab -e

腳本內容

30 2 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
如果遇到權限問題,可先創建/var/log目錄再設置其權限為可寫入
成功

享受https的綠色小鎖吧!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40016.html

相關文章

  • 追求閱讀舒適度的 Hexo博客主題hexo-theme-cafe

    摘要:主題旨在追求簡約操作簡單閱讀舒適度。英文版介紹,目前版本主要調整了整體的樣式,布局細調,以及新增一些等,后期會在使用的過程中不斷進行調整。您可以使用減記語法或標簽插件添加你的照片。 hexo-theme-cafe Cafe 主題旨在追求簡約、操作簡單、閱讀舒適度。 英文版介紹 Read in English Inspire by Landscape,目前版本主要調整了整體的樣式,布局細...

    princekin 評論0 收藏0
  • 追求閱讀舒適度的 Hexo博客主題hexo-theme-cafe

    摘要:主題旨在追求簡約操作簡單閱讀舒適度。英文版介紹,目前版本主要調整了整體的樣式,布局細調,以及新增一些等,后期會在使用的過程中不斷進行調整。您可以使用減記語法或標簽插件添加你的照片。 hexo-theme-cafe Cafe 主題旨在追求簡約、操作簡單、閱讀舒適度。 英文版介紹 Read in English Inspire by Landscape,目前版本主要調整了整體的樣式,布局細...

    eechen 評論0 收藏0
  • 追求閱讀舒適度的 Hexo博客主題hexo-theme-cafe

    摘要:主題旨在追求簡約操作簡單閱讀舒適度。英文版介紹,目前版本主要調整了整體的樣式,布局細調,以及新增一些等,后期會在使用的過程中不斷進行調整。您可以使用減記語法或標簽插件添加你的照片。 hexo-theme-cafe Cafe 主題旨在追求簡約、操作簡單、閱讀舒適度。 英文版介紹 Read in English Inspire by Landscape,目前版本主要調整了整體的樣式,布局細...

    xiaowugui666 評論0 收藏0
  • 每周前端開源推薦第四期

    摘要:每周前端開源推薦第四期上一期介紹了很多實時框架,不知大家有沒有去體驗一下實時的樂趣。在上面融了,上周在上面開源,一周的時間,數已經了,火的一塌糊涂。 每周前端開源推薦第四期 mozilla / togetherjs A service for your website that makes it surprisingly easy to collaborate in real...

    chaosx110 評論0 收藏0

發表評論

0條評論

james

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<