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
Linux下 nginx配置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上配置合法簽名證書,實現nginx的https訪問
certbot合法簽名證書 nginx配置https 咖菲貓-李常明筆記 公司因之前使用的openssh創建的自簽名證書,有一個弊端,就是在某些客戶端上不能使用此證書,無法使用https連接,所以,研究了一下certbot 做簽名證書! certbot的官網地址: https://certbot.
Linux下 nginx+tomcat配置https的總結和遇到的坑
master gcc apache ddr code style remote protocol lis 證書的獲取略 服務器的端口443確保外界網絡能夠進行訪問。 是否配置https: nginx:是 tomcat:否 1.首先查看nginx是否支持SSL。 參考鏈接: