1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > nginx 多端口转发 + SSL

nginx 多端口转发 + SSL

时间:2022-04-28 18:47:18

相关推荐

nginx 多端口转发 + SSL

1.代理多个项目至同一个端口,分发到不同域名

Server 1: springboot 端口配置(18080)

server:tomcat:uri-encoding: UTF-8port: 18080

Server 2: springboot 端口配置(28080)

server:tomcat:uri-encoding: UTF-8port: 28080

Nginx配置:

http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log logs/access.log main;sendfile on;tcp_nopushon;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;includemime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See /en/docs/ngx_core_module.html#include# for more information.include conf/*.conf;server {listen 80;server_name ;index index.html index.htm index.php;location / {proxy_pass http://127.0.0.1:18080;proxy_set_header X_Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}access_log logs/pm1-nginx-access.log main;error_log logs/pm1-nginx-error.log error;}server {listen 80;server_name ;index index.html index.htm index.php;location / {proxy_pass http://127.0.0.1:28080;proxy_set_header X_Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}access_log logs/pm2-nginx-access.log main;error_log logs/pm2-nginx-error.log error;}}

htdocs配置:

127.0.0.1 127.0.0.1

启动、关闭命令:

#启动start nginx#关闭nginx -s stop

SSL 配置:

修改nginx配置:(注意listen 443 ssl,这里添加SSL,以及下面SSL证书配置)

server {listen 443 ssl;server_name ;index index.html index.htm index.php;ssl_certificate ssl/_bundle.crt; #需要添加(这里是你的.pem文件地址)ssl_certificate_key ssl/.key; #需要添加(这里是你的.key文件地址)ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。ssl_prefer_server_ciphers on;location / {proxy_pass https://127.0.0.1:18080;proxy_set_header X_Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}access_log logs/pm1-nginx-access.log main;error_log logs/pm1-nginx-error.log error;}server {listen 443 ssl;server_name ;index index.html index.htm index.php;ssl_certificate ssl/_bundle.crt; #需要添加(这里是你的.pem文件地址)ssl_certificate_key ssl/.key; #需要添加(这里是你的.key文件地址)ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。ssl_prefer_server_ciphers on;location / {proxy_pass http://127.0.0.1:28080;proxy_set_header X_Real_IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;}access_log logs/pm2-nginx-access.log main;error_log logs/pm2-nginx-error.log error;}}

ssl证书放到conf目录下

项目添加ssl证书配置:

debug: falseserver:tomcat:uri-encoding: UTF-8port: 18080ssl:key-store: classpath:.jks

证书放至项目根目录:

结果:/ 跳转至项目1,/ 跳转至项目2

2.代理不同项目到同一个端口,共用同一个项目

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。