十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
今天就跟大家聊聊有關(guān)使用SSL怎么配置Nginx反向代理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
1.后端服務(wù)器:為了本教程的目的,我們使用在端口8080的localhost上運(yùn)行的tomcat服務(wù)器
注意: - 當(dāng)您開始代理請求時(shí),請確保應(yīng)用程序服務(wù)器已啟動(dòng)。
2.SSL證書:我們還需要在服務(wù)器上配置SSL證書。我們可以使用 let's encrypt的加密證書,你可以使用這里提到的程序得到一個(gè)。但是對于本教程,我們將使用自簽名證書,可以通過從終端運(yùn)行以下命令來創(chuàng)建,
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt
使用ssl配置nginx反向代理的下一步將是nginx安裝,
安裝Nginx
Ubuntu
Nginx可用于默認(rèn)的Ubuntu存儲(chǔ)庫。這么簡單,使用以下命令安裝它,
$ sudo apt-get update && sudo apt-get install nginx
現(xiàn)在啟動(dòng)服務(wù)并啟用它以進(jìn)行啟動(dòng),
# systemctl start nginx # systemctl enable nginx
現(xiàn)在檢查nginx安裝,我們可以打開Web瀏覽器并輸入系統(tǒng)IP作為url以獲取默認(rèn)的nginx網(wǎng)頁,這確認(rèn)nginx工作正常。
使用SSL配置Nginx反向代理
現(xiàn)在我們擁有了使用ssl配置nginx反向代理所需的所有東西。我們現(xiàn)在需要在nginx中進(jìn)行配置,我們將使用默認(rèn)的nginx配置文件,即/etc/nginx/conf.d/default.conf.
假設(shè)這是我們第一次對配置進(jìn)行任何更改,打開文件并刪除或注釋所有舊文件內(nèi)容,然后將以下條目放入文件中。
vi /etc/nginx/conf.d/default.conf
server { listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; } }
完成所有更改后,保存文件并退出。在我們重新啟動(dòng)nginx服務(wù)以實(shí)現(xiàn)所做的更改之前,我們將逐節(jié)討論我們所做的配置。
第1節(jié)
server { listen 80; return 301 https://$host$request_uri; }
在這里,我們告訴我們要聽取對端口80的任何請求,然后將其重定向到https。
第2節(jié)
listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on;
現(xiàn)在這些是我們正在使用的一些默認(rèn)的nginx ssl選項(xiàng),它們告訴nginx web服務(wù)器支持哪種協(xié)議版本,SSL密碼。
第3節(jié)
location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; }
現(xiàn)在,本節(jié)介紹代理以及傳入請求進(jìn)入后的位置?,F(xiàn)在我們已經(jīng)討論了所有配置,我們將檢查然后重新啟動(dòng)nginx服務(wù)。
要檢查nginx,請運(yùn)行以下命令
# nginx -t
一旦我們所有配置文件都o(jì)k,我們將重新啟動(dòng)nginx服務(wù)
# systemctl restart nginx
就是這樣,我們的ssl nginx反向代理現(xiàn)已準(zhǔn)備就緒。現(xiàn)在要測試設(shè)置,您所要做的就是打開Web瀏覽器并輸入U(xiǎn)RL。我們現(xiàn)在應(yīng)該重定向到apache tomcat網(wǎng)頁。
看完上述內(nèi)容,你們對使用SSL怎么配置Nginx反向代理有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。