您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何利用SSL配置Nginx反向代理”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“如何利用SSL配置Nginx反向代理”文章能幫助大家解決問題。
先決條件
1.后端服務器:為了本教程的目的,我們使用在端口8080的localhost上運行的tomcat服務器
注意: - 當您開始代理請求時,請確保應用程序服務器已啟動。
2.ssl證書:我們還需要在服務器上配置ssl證書。我們可以使用 let's encrypt的加密證書,你可以使用這里提到的程序得到一個。但是對于本教程,我們將使用自簽名證書,可以通過從終端運行以下命令來創建,
$ 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可用于默認的ubuntu存儲庫。這么簡單,使用以下命令安裝它,
$ sudo apt-get update && sudo apt-get install nginx
現在啟動服務并啟用它以進行啟動,
# systemctl start nginx # systemctl enable nginx
現在檢查nginx安裝,我們可以打開web瀏覽器并輸入系統ip作為url以獲取默認的nginx網頁,這確認nginx工作正常。
使用ssl配置nginx反向代理
現在我們擁有了使用ssl配置nginx反向代理所需的所有東西。我們現在需要在nginx中進行配置,我們將使用默認的nginx配置文件,即/etc/nginx/conf.d/default.conf.
假設這是我們第一次對配置進行任何更改,打開文件并刪除或注釋所有舊文件內容,然后將以下條目放入文件中。
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; } }
完成所有更改后,保存文件并退出。在我們重新啟動nginx服務以實現所做的更改之前,我們將逐節討論我們所做的配置。
第1節
server { listen 80; return 301 https://$host$request_uri; }
在這里,我們告訴我們要聽取對端口80的任何請求,然后將其重定向到https。
第2節
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;
現在這些是我們正在使用的一些默認的nginx ssl選項,它們告訴nginx web服務器支持哪種協議版本,ssl密碼。
第3節
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; }
現在,本節介紹代理以及傳入請求進入后的位置。現在我們已經討論了所有配置,我們將檢查然后重新啟動nginx服務。
要檢查nginx,請運行以下命令
# nginx -t
一旦我們所有配置文件都ok,我們將重新啟動nginx服務
# systemctl restart nginx
就是這樣,我們的ssl nginx反向代理現已準備就緒。現在要測試設置,您所要做的就是打開web瀏覽器并輸入url。我們現在應該重定向到apache tomcat網頁。
關于“如何利用SSL配置Nginx反向代理”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。