1. 程式人生 > >linux 配置nginx https 訪問認證

linux 配置nginx https 訪問認證

1   首先檢視伺服器有沒有安裝openssl 支援包,

          rpm -qa | grep  openssl

 如果有結果輸出,說明已經有了openssl 包的支援

如果沒有結果輸入 通過命令

 yum instance -y openssl            yum install -y openssl-devel  來安裝openssl 支援

2   我們知道https 訪問協議就是通過新增證書的認證 ,採用加密的手段保證了我們資訊訪問的安全,

接下來就通過openssl 來生成證書所需的原始檔案  證書私鑰 和 證書請求檔案 (csr  cerificate signing erquest)其中包含的了伺服器的資訊和申請單位的資訊

openssl req -new -node -sha  -newkey rsa:2048 -keyout private.key  -out  mydomain.csr

輸入命令後會有提示資訊,根據提示資訊輸入相關資訊後即可,可以參考

再來一個我本地截圖,供參考。


  3 接下來參看一下生成的檔案吧,,

4  利用上面生成的祕鑰  和證書請求檔案來生成證書,

 openssl x509 -req -days 365 -in ./domain.csr -signkey ./private.key  -out  mydomain.crt

5  檢視生成的證書檔案,

6 現在開始配置nginx 嘍

進入ngInx 配置檔案目錄 , 用vim 編輯器開啟配置檔案,

貼上來 方便大家直接貼上,

    server {
        listen       443;
        server_name  test.xbddai.com;
        ssl on;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        ssl_certificate      /etc/pki/tls/certs/mydomain.cer;
        ssl_certificate_key  /etc/pki/tls/certs/myprivate.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 / {
            root   html;
            index  index.html index.htm;
            proxy_pass  http://localhost:8083;
        }

配置完成後千萬要記得重啟 nginx 伺服器,讓配置生效。

/usr/local/nginx/sbin/nginx -s reload

重啟過程中如果出現

[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf 的問題,則需要重新編譯nginx

1 檢視編譯安裝nginx 的時候,編譯安裝了哪些模組:

[[email protected] nginx]# ./sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)
built with OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
TLS SNI support disabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

 可以看到 ,我已經編譯載入了模組 --with_http_ssl_mdule 

2 如果您的沒有 載入模組 那麼重新編譯把模組載入進去吧,

進入 nginx 解壓縮目錄:

[[email protected] nginx-1.8.1]# ll
total 676
drwxr-xr-x 6 1001 1001   4096 Aug 22 11:05 auto
-rw-r--r-- 1 1001 1001 251319 Jan 26  2016 CHANGES
-rw-r--r-- 1 1001 1001 383019 Jan 26  2016 CHANGES.ru
drwxr-xr-x 2 1001 1001   4096 Dec 21 10:09 conf
-rwxr-xr-x 1 1001 1001   2478 Jan 26  2016 configure
drwxr-xr-x 4 1001 1001   4096 Aug 22 11:05 contrib
drwxr-xr-x 2 1001 1001   4096 Aug 22 11:05 html
-rw-r--r-- 1 1001 1001   1397 Jan 26  2016 LICENSE
-rw-r--r-- 1 root root    366 Feb  8 15:46 Makefile
drwxr-xr-x 2 1001 1001   4096 Aug 22 11:05 man
drwxr-xr-x 3 root root   4096 Feb  8 15:47 objs
-rw-r--r-- 1 1001 1001     49 Jan 26  2016 READ

 3 可以看到 configure 用於生成makefile的配置檔案,

重新編譯: ./configure  --prefix=/usr/local/nginx  --with-http_stub_status_module --with-http_ssl_module

執行完成後,執行make   將makefile檔案編譯一下生成obj檔案(切記不可 make install  不然會把之前安裝好的nginx 覆蓋掉)

 4 接下來需要停止nginx  如果還沒有啟動,當然就不用理會了,

停止方式可以找到nginx 服務所佔用的程序 , 把程序幹掉就可以啦,是不是很簡單,

需要替換掉nginx 二進位制檔案 

cp   ./objs/nginx   /usr/local/.nginx/sbin 

cp: overwrite `/usr/local/nginx/sbin/nginx'? yes

 5 檢視一下編譯模組 看是否已經將模組編譯進去了,, 命令還是步驟1 使用的命令哦!

備註:常用的格式轉換

            a,得到 pfx 格式的私鑰

                  openssl pkck12 -export -out server.pfx -inkey server.key -in server.crt

            b,從pfx檔案中分離出 cer 格式的公鑰

                 openssl x509 -inform pem -in server.crt -outform der -out server_public.cer

相關推薦

linux 配置nginx https 訪問認證

1   首先檢視伺服器有沒有安裝openssl 支援包,           rpm -qa | grep  openssl  如果有結果輸出,說明已經有了openssl 包的支援 如果沒有結果輸入 通過命令  yum instance -y openssl       

nginx 安裝、配置 http + https 訪問 tomcat 專案以及配置 http 強轉 https

一、在 linux (CentOS)上安裝 nginx第一步:新增 nginx 儲存庫xshell> yum install epel-release第二步:安裝 nginxxshell> yum install nginx使用 yum 安裝 nginx 後,ng

nginx配置http+https訪問tomcat專案以及配置http強轉https

來自部落格:https://blog.csdn.net/weidong_y/article/details/80559607ssl自簽證書部落格:https://www.cnblogs.com/hzm112567/p/4269316.html一、在 linux (CentOS

Linux配置Nginx,MySql,php-fpm開機啟動的方法

sleep 管理 support dev view linux 使用 pre work 一. Nginx 開機啟動 NGINX SHELL腳本 放到/etc/init.d/下取名nginx 下面代碼裏根據你原始安裝路徑去更改 nginx="/usr/localinx/s

Apache配置實現https訪問

yum安裝Apache實現https訪 編譯安裝Apache實現https訪問 Apache實現https過程 Apache配置實現https訪問一、編譯安裝的Apache配置https訪問1、軟件環境HTTPS是以安全為目標的HTTP通道,簡單講是HTTP的安全版。谷歌已經制定了一項長遠的計劃,

Linux配置外網訪問mysql

stream{    upstream abc{        server 192.168.8.249:3306;    }    server{&

Ubuntu16.04下配置nginx HTTPS + RTMP流媒體伺服器

Ubuntu16.04下配置HTTPS + rtmp伺服器 1.   在/usr目錄下建立資料夾nginx-install: cd /usr mkdir nginx-install cd nginx-install 2.  &nbs

Linux配置Nginx負載均衡

首先先了解下負載均衡,假設一個場景,如果有1000個客戶同時訪問你伺服器時,而你只有一臺伺服器的Nginx,且只有一個MySQL伺服器,那麼這些請求可能會高出你的的伺服器承受能力,就會down掉。 解決方法: 1.垂直升級:就是增加伺服器的配置,CPU,記憶體等 2.水平升級:新增多臺伺

Linux配置FTP遠端訪問設定

文章目錄 檢測是否安裝vsftpd 安裝vsftpd 新建ftp共享資料夾 建立ftp使用者名稱密碼 配置檔案/etc/vsftpd.conf 啟動服務 測試ftp 檢測是否安裝vs

ubuntu14.04配置apache https訪問(ssl證書來源阿里雲)

ubuntu14.04配置apache https訪問(ssl證書來源阿里雲) 針對ubuntu14.04 版本的配置,其他版本資料夾位置不一樣只能當做參考 首先去阿里雲上申請證書,成功後下載到一個apache版本證書 遠端連線linux桌面 cd /etc/apach

Ubuntu 16.04 配置 nginx 登陸訪問

下載apache2-utils:sudo apt install apache2-utils root新增使用者zhangsq:htpasswd -c /etc/nginx/.htpasswd zhangsq 更改/etc/nginx/nginx.

Linux配置Nginx+Tomcat負載均衡

14. func tomcat att 模塊 error 新解 c++環境 make tar -zxvf nginx-1.14.2.tar.gz -C /usr/local 一、Linux配置Nginx 一、下載Nginx   方式1:從http://nginx.org/e

JDK 8 配置tomcat https 單向認證

環境window 7 , JDK 1.8 , tomcat 8.0.x1、生成根證書頒發機構的金鑰庫keytool -genkeypair -v -keystore root.p12 -storetype pkcs12 -storepass 123456 -alias 我是根

Linux配置Nginx,MySql,php-fpm開機啟動的方法 (centos)

#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server

Centos 寶塔面板 配置nginx https 和 websocket 協議

/***配置檔案**/ server { listen 443 ssl; server_name www.ng6

三、netcore跨平臺之 Linux配置nginx負載均衡

前面兩章講了netcore在linux上部署以及配置nginx,並讓nginx代理webapi。 這一章主要講如何配置負載均衡,有些步驟在前兩章講的很詳細了,所以這一章我就不會一個個截圖了。 因為本人只有一個伺服器。所以我會在同一臺伺服器上部署兩套差不多的例項。 同樣的程式碼,我們在Program.cs

Linuxnginx配置ssl證書實現https訪問

現在很多網站都會使用SSL證書對網站資料進行傳輸加密,尤其是銀行、金融、電商類的網站。但很多人對於https的理解都存在不少誤區,

Centos7.2下Nginx配置SSL支持https訪問(站點是基於.Net Core2.0開發的WebApi)

ack 保存 受害者 etc proxy cer 查看 綁定 客戶端 準備工作 1.基於nginx部署好的站點(本文站點是基於.Net Core2.0開發的WebApi,有興趣的同學可以跳http://www.cnblogs.com/GreedyL/p/7422796.ht

certbot在Centos7上配置合法簽名證書,實現nginxhttps訪問

certbot合法簽名證書 nginx配置https 咖菲貓-李常明筆記 公司因之前使用的openssh創建的自簽名證書,有一個弊端,就是在某些客戶端上不能使用此證書,無法使用https連接,所以,研究了一下certbot 做簽名證書! certbot的官網地址: https://certbot.

Linuxnginx+tomcat配置https的總結和遇到的坑

master gcc apache ddr code style remote protocol lis 證書的獲取略 服務器的端口443確保外界網絡能夠進行訪問。 是否配置https: nginx:是 tomcat:否 1.首先查看nginx是否支持SSL。 參考鏈接: