91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Nginx中配置多個HTTPS域名

發布時間:2021-03-05 17:54:59 來源:億速云 閱讀:644 作者:Leah 欄目:服務器

本篇文章為大家展示了如何在Nginx中配置多個HTTPS域名,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

環境:

  1. CentOS 7

  2. 多個一級域名

開發測試過程中,因為某些原因,想要讓手頭的A、B域名同時指向云服務器的443端口,支持HTTPS。

Nginx支持TLS協議的SNI擴展(同一個IP上可以支持多個不同證書的域名),只需要重新安裝Nginx,使其支持TLS即可。

安裝Nginx

[root]# wget http://nginx.org/download/nginx-1.12.0.tar.gz
[root]# tar zxvf nginx-1.12.0.tar.gz
[root]# cd nginx-1.12.0
[root]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module \
--with-openssl=./openssl-1.0.1e \
--with-openssl-opt="enable-tlsext"

備注:在安裝的過程中發現,云服務器的環境中缺少一些庫,下載后,重新執行Nginx的./configure指令,具體操作如下:

[root]# wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
[root]# tar zxvf pcre-8.35
[root]# yum -y install gcc
[root]# yum -y install gcc-c++
[root]# yum install -y zlib-devel

[root]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module \
--with-openssl=./openssl-1.0.1e \
--with-openssl-opt="enable-tlsext" \
--with-pcre=./pcre-8.35

配置Nginx

在購買域名的時候,如果域名提供商有免費的SSL證書,就直接用;如果沒有的話,可以使用 Let's Encript 生成免費的CA證書。

打開Nginx的配置:vi /etc/nginx/nginx.conf

  ...
  server {
    listen    443 ssl;
    listen    [::]:443 ssl;
    server_name abc.com;
    root     /usr/share/nginx/html;

    ssl_certificate "/root/keys/abc.com.pem";
    ssl_certificate_key "/root/keys/abc.com.private.pem";
    include /etc/nginx/default.d/*.conf;

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

  server {
    listen    443 ssl;
    listen    [::]:443 ssl;
    server_name def.com;
    root     /usr/share/nginx/html;

    ssl_certificate "/root/keys/def.com.pem";
    ssl_certificate_key "/root/keys/def.com.private.pem";
    include /etc/nginx/default.d/*.conf;

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

配置完成后,重新加載Ngixn:nginx -s reload

申請免費的CA證書

對于沒有SSL證書的情況,可以用下面的方法免費獲得CA證書——Let's Encript。

步驟1: 安裝 Let's Encrypt 官方客戶端——CetBot

[root]# yum install -y epel-releasesudo 
[root]# yum install -y certbot

步驟2: 配置Nginx的配置文件,在 Server 模塊(監聽80端口的)添加下面配置:

CertBot在驗證服務器域名的時候,會生成一個隨機文件,然后CertBot的服務器會通過HTTP訪問你的這個文件,因此要確保你的Nginx配置好,以便可以訪問到這個文件。

server {
   listen    80 default_server;

   ...

  location ^~ /.well-known/acme-challenge/ {  
    default_type "text/plain";  
    root   /usr/share/nginx/html;
  }

  location = /.well-known/acme-challenge/ {  
    return 404;
  }
}

重新加載Nginx: nginx -s reload

步驟3: 申請SSL證書

[root]# certbot certonly --webroot -w /usr/share/nginx/html/ -d your.domain.com

安裝過程中,會提示輸入郵箱,用于更新CA證書的。

安裝成功后,默認會在 /etc/letsencrypt/live/your.domain.com/ 會生成CA證書。

|-- fullchain.pem 
|-- privkey.pem

步驟4: 配置Nginx

server {
  listen    443 ssl;
  listen    [::]:443 ssl;
  server_name def.com;
  root     /usr/share/nginx/html;

  ssl_certificate "/etc/letsencrypt/live/your.domain.com/fullchain.pem";
  ssl_certificate_key "/etc/letsencrypt/live/your.domain.com/privkey.pem";
  include /etc/nginx/default.d/*.conf;

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

配置完,重新加載Nginx

步驟5: 自動更新證書

在命令行先進行模擬更新證書

certbot renew --dry-run

如果模擬更新成功,則 使用 crontab -e 命令來啟用自動更新任務:

[root]# crontab -e
30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log

上述內容就是如何在Nginx中配置多個HTTPS域名,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涿鹿县| 武邑县| 蕲春县| 巴马| 宁晋县| 东阿县| 弥勒县| 西青区| 太仓市| 双鸭山市| 呼玛县| 高雄市| 库伦旗| 景宁| 孟连| 龙南县| 凤庆县| 河曲县| 新邵县| 蒙城县| 吐鲁番市| 郸城县| 都匀市| 裕民县| 贵南县| 延庆县| 漳平市| 荆门市| 永修县| 福建省| 平山县| 东乌| 名山县| 万宁市| 永兴县| 大丰市| 玛纳斯县| 南宁市| 沁源县| 青神县| 南京市|