把 http換成 https

把 http換成 https

這是我現在的博客地址:https://www.yating.online/

(╹▽╹)感謝運維小哥的指導~

ssl證書:實現網站HTTPS化,使網站可信,防劫持、防篡改、防監聽、安全加密。SSL 證書就是遵守 SSL協議,由受信任的數字證書頒發機構CA,在驗證服務器身份後頒發,具有服務器身份驗證和數據傳輸加密功能。

該安全協議主要用來提供對用戶和服務器的認證;對傳送的數據進行加密和隱藏;確保數據在傳送中不被改變,即數據的完整性,現已成爲該領域中全球化的標準。

步驟:

  1. 第一步:首先購買ssl證書:我用的是阿里雲服務器。ssl證書購買地址:https://common-buy.aliyun.com/?spm=5176.7968328.1266638…122e1232hPOLjC&commodityCode=cas&aly_as=HPiHXlKb#/buy
  2. 第二步:購買以後需要填寫信息申請;成功以後就可以下載ssl證書了;
  3. 下載nginx服務類型的證書

文件類型介紹

  1. .key文件:屬於密鑰文件,SSL證書的私人密鑰就包括在內。是信息內容的中樞;

  2. .csr文件:文件裏包括證書的公用密鑰和一些公司內部重要祕密信息,要使用者通過請求籤名之後才能夠直接生出證書;

  3. .crt文件:此文件也包含了ssl證書的公用密鑰、簽字訊息以及根據不同的類型伴隨不同認證的信息,通常各類簽名簽字證書都會在這類文件中,如IP等;

  4. .pem文件:該文件較其他後綴文件來說比較少見,裏面包含着證書的私人密鑰以及其他一部分證書重要的信息。

重點:請記得在阿里雲的安全組策略,把443端口號給開放出來哦~!
記得把你頁面上的所有http的請求都改成https,不然報錯!

通用格式:

        listen  443 ssl;
        server_name  yating.online;
        ssl_protocols TLSv1.2 TLSv1.1;
        ssl_certificate  文件位置/www.yating.online.pem;
        ssl_certificate_key  文件位置/www.yating.online.key;
        ssl_session_timeout 600; #緩存有效時間10分鐘,默認5m 5分鐘
        ssl_protocols SSLv2 SSLv3 TLSv1; #支持的協議
        ssl_ciphers HIGH:+AES; #限定加密算法

雖然這樣配置就可以了,但是當我訪問www.yating.online的時候,還是默認http://www.yating.online;

(●—●)所以需要設置,一下,強制http轉爲https:

   #訪問yaitng.online,強制http轉爲https
    server {
        listen 80;
        server_name localhost;
        rewrite ^ https:/$http_host$request_uri? permanent;
    }

這樣地址就會變成變成https://www.yating.online啦~(︶.̮︶✽)


nginx指令給一波

  • /usr/local/webserver/nginx/sbin/nginx 啓動
  • /usr/local/webserver/nginx/sbin/nginx -s reload # 重新載入配置文件
  • /usr/local/webserver/nginx/sbin/nginx -s reopen # 重啓 Nginx
  • /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx

下面是我nginx配置:

#user  nobody;
worker_processes  1;
user root;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    server {
        listen 80;
        server_name  localhost;
        rewrite ^ https:/$http_host$request_uri? permanent;
    }
    server {
        listen       80;
        listen  443 ssl;
        server_name  yating.online;
        ssl_protocols TLSv1.2 TLSv1.1;
        ssl_certificate  文件位置/www.yating.online.pem;
        ssl_certificate_key  文件位置/www.yating.online.key;
        ssl_session_timeout 600; #緩存有效時間10分鐘,默認5m 5分鐘
        ssl_protocols SSLv2 SSLv3 TLSv1; #支持的協議
        ssl_ciphers HIGH:+AES; #限定加密算法
        #access_log  logs/host.access.log  main;
        #charset koi8-r;


        #myweb nuxt項目
            location / {
                #alias /root/yating-project/;
                #index  index.html index.htm;
                #autoindex on;
                proxy_pass http://127.0.0.1:9000;
            }
        #靜態資源
            location /game {
                alias /root/easyGame/output/;
                index  index.html index.htm;
                autoindex on;
            }
        #對外開放資源
            location /res{
            alias /root/resource/;
            index index.html index.htm;
            autoindex on;
            }
        #後臺接口地址
            location /api/ {
            expires      7d;
                proxy_set_header Host $host;
                proxy_pass_header User-Agent;
                proxy_pass http://127.0.0.1:3000/;
            }


        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章