前言
反向代理是一個服務器,它接收通過Web發出的請求,即http和https,然后將它們發送到后端服務器(或服務器)。后端服務器可以是單個或一組應用服務器,如Tomcat,wildfly或Jenkins等,或者甚至可以是其他Web服務器,如Apache等。
我們已經討論過如何使用Nginx配置簡單的http反向代理。在本教程中,我們將討論如何使用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; } }
新聞熱點
疑難解答