環境配置:linux + docker + nginx1.9.8
由於環境部署在docker裡面,所以先進入docker
docker ps 展示出所有的docker映象,docker exec -it 映象名 bin/bash 進入映象 (這裡是重點,沒有docker的忽略)
找到nginx的網域名稱配置檔案,我的目錄是/etc/nginx/conf.d/***.conf
ssl_certificate /usr/local/src/ssl/***x.pem; #證書裡面,必須是包含兩套完整的-----begin certificate-----和-----end certificate-----
ssl_certificate_key /usr/local/src/ssl/***x.key; #證書金鑰檔案
ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
ssl_ciphers all:!dh:!export:!rc4:+high:+medium:!low:!anull:!enull;
以上兩個***.pem 和 ***.key 需要申請 (我的機器是在阿里雲上的,可以直接在阿里雲申請)
重啟nginx:nginx -s reload
這時候報錯:unknown directive 「ssl_certificate」 這是由於nginx的ssl模組未安裝,這裡我們需要重新編譯下nginx
來到解壓目錄下後,按順序執行一下命令:
命令1./configure --with-http_ssl_module //重新新增這個ssl模組
注意如果沒有出現錯誤,則直接看命令2即可
執行以上一條命令出現這個錯誤(./configure:錯誤:ssl模組需要openssl庫。),原因是因為缺少了openssl,那我們再來安裝乙個即可執行:yum -y install openssl openssl-devel
等待openssl的安裝完成後,再執行./configure ,最後在執行」 命令1" 即可。
命令2執行make命令,但是不要執行make install,因為make是用來編譯的,而make install是安裝,不然你整個nginx會重新覆蓋的。
命令3在我們執行完做命令後,我們可以檢視到在nginx解壓目錄下,objs資料夾中多了乙個nginx的檔案,這個就是新版本的程式了。首先我們把之前的nginx先備份一下,然後把新的程式複製過去覆蓋之前的即可。
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
命令4,最後我們來到nginx安裝目錄下,來檢視是否有安裝ssl模組成功。執行./sbin/nginx -v即可看到如下圖:
10. 記得 再次重啟nginx
這個時候發現https還是沒有生效,原因是 上述修改是在docker裡面的nginx,所以只支援docker裡面訪問,所以我們還需要在linux上(docker外面)修改,找到**/etc/nginx/conf.d/vhost/***.conf**
同樣的還是要增加ssl相關配置,請看第一步
同時也要加上如下**塊,8081是docker裡面nginx開放的埠
location /
tomcat 增加https安全協議訪問
首先,需要產生乙個證書,當然,在正式的生產環境,證書是由客戶向合法的受信任的數字證書頒發機構申請,在實際專案中,不需要我們自己生成證書,是由客戶提供的,但是在此處為了說明搭建https協議服務的過程,我們自己生成數字證書來演示此過程。首先,使用jdk隨機提供的證書生成工具 keytool,此工具位於...
網域名稱配置https
阿里可以一年的免費申請https證書 1 網域名稱 管理 免費開啟ssl證書 3 在伺服器的nginx目錄下建立乙個cert資料夾,把兩個證書檔案放進去 4 修改nginx配置,nginx原有自帶的https配置,只需要改一下檔案路徑即可 5 重啟nginx服務,就可以用https 的網域名稱訪問 ...
記錄貼 配置HTTPS網域名稱訪問到本地區域網閘道器
記錄點點滴滴 每日一句 i am more vulnerable than i thought,but much stronger than i ever imagined.找一台本地區域網的伺服器,通過docker部署我們的閘道器服務 在阿里雲的網域名稱解析處,把我們想要給前端使用的本地測試網域名...