gpt4 book ai didi

ssl - NGINX:基于具有不同端口的本地主机上多个应用程序路径的 ssl 代理

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

我正在尝试将 nginx 配置为根据请求路径将请求代理到主机上运行的不同端口的不同服务器。更复杂的是,我希望所有应用程序都使用 ssl。换句话说,我希望 nginx 执行以下操作:

https://www.example.com/app1 --> http://localhost:8001
https://www.example.com/app2 --> http://localhost:8002
https://www.example.com/app3 --> http://localhost:8003
...

到目前为止我得到了什么(不太有效):

# redirecting from http to https
server {
listen 80;
301 https://$host$request_uri;
}

# proxying path to port
server {
listen 443;
ssl_certificate /path/to/cert.pem
ssl_certificate_key /path/to/privkey.pem
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;

location /app1 {
proxy_pass http://localhost:8001
}
location /app2 {
proxy_pass http://localhost:8002
}
location /app3 {
proxy_pass http://localhost:8003
}
}

最终发生的是 nginx 只暴露一个特定的应用程序(那是第一个)。

任何关于我做错了什么的想法都将不胜感激。谢谢。

最佳答案

用以下内容替换你的 nginc.conf

    server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}

server {
listen 443;
root /usr/share/nginx/html;

ssl on;
ssl_certificate /etc/nginx/ssl/demo.com.crt;
ssl_certificate_key /etc/nginx/ssl/demo.com.key;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

chunked_transfer_encoding on;

location /app1 {
proxy_pass http://<private-ip>:8001
}
location /app2 {
proxy_pass http://<private-ip>:8002
}
location /app3 {
proxy_pass http://<private-ip>:8003
}

}

将您的.crt、.kry 文件复制到您需要的文件夹中

关于ssl - NGINX:基于具有不同端口的本地主机上多个应用程序路径的 ssl 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46180542/

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