副问题[/!--empirenews.page--]
反向署理是一个处事器,它吸取通过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;
-
- }
-
- }
完成全部变动后,生涯文件并退出。在我们从头启动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暗码。
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|