gpt4 book ai didi

ssl - 始终选择 Nginx 默认服务器 - 多个 SSL 服务器

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:35 27 4
gpt4 key购买 nike

我在 Nginx 中定义了 3 个服务器(用于提供静态内容并作为 tomcat 的代理):

一个处理非处理请求:

server {
listen 443 default_server;
return 444;
}

一个用于网络应用程序 A:

server {
listen 443;

server_name webAppA;
ssl on;
ssl_certificate /etc/nginx/ssl/webAppA/server.crt;
ssl_certificate_key /etc/nginx/ssl/webAppA/server.key;

index index.html;
root /var/www/webAppA/;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

location / {
try_files $uri $uri/ /index.html;
}

location /ws/ {
add_header Cache-Control no-cache;
proxy_pass http://localhost:8080/webAppA/ws/;
proxy_set_header X-Real-IP $remote_addr;
}
}

一个用于网络应用程序 B:

server {

listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/webAppB/server.crt;
ssl_certificate_key /etc/nginx/ssl/webAppB/server.key;
server_name webAppB

index index.html;
root /var/www/webAppB/;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

location /ws/ {
add_header Cache-Control no-cache;
proxy_pass http://localhost:8080/webAppB/ws/;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
#auth_basic "Restricted";
#auth_basic_user_file htpasswd;
try_files $uri $uri/ /index.html;
}
}

我正在尝试访问这两个应用:

https://server_ip/webAppA
https://server_ip/webAppB

但始终选择默认服务器。我启用了 TSL SNI 支持。

我尝试将服务器名称添加到/etc/hosts 但它没有任何改变。

你有什么想法吗?

非常感谢:)

最佳答案

建立的解决方案是制作一台服务器,因为 server_name 指的是

"https://server_ip" 

而不是“wabAppA”或“webAppB”。

server {
listen 443;

ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

root /var/www/;

location /webAppA/ {
try_files $uri $uri/ /webAppA/index.html;
}

location /webAppB/ {
try_files $uri $uri/ /webAppB/index.html;
}

location /webAppA/ws/ {
add_header Cache-Control no-cache;
proxy_pass http://localhost:8080/webAppA/ws/;
proxy_set_header X-Real-IP $remote_addr;
}

location /webAppB/ws/ {
add_header Cache-Control no-cache;
proxy_pass http://localhost:8080/webAppB/ws/;
proxy_set_header X-Real-IP $remote_addr;
}
}

它不像我希望的那样灵活,但它确实有效。

关于ssl - 始终选择 Nginx 默认服务器 - 多个 SSL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24505521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com