首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SSL证书绑定到端口号-- Nginx

将SSL证书绑定到端口号-- Nginx
EN

Stack Overflow用户
提问于 2021-09-22 06:23:32
回答 1查看 66关注 0票数 0

抱歉,对Nginx和SSL的了解有限。我在运行Nginx的服务器上部署了React和Django应用程序。

React应用程序可以使用“example.org”访问(出于演示目的,名称是伪造的),对于Django应用程序,我将其配置为可以通过端口3000访问,即"example.org:3000“。

该域安装了SSL证书,证书显示在"example.org“中,但在访问"example.org:3000”时,证书对此端口不可用。

我一直试图允许ssl证书以及端口,但不能成功。我用listen 3000 ssl修改了nginx conf文件,但没有成功。请帮帮忙,有没有办法或者我们需要修改ssl证书?

目前Nginx的配置是:

代码语言:javascript
复制
server {
        listen 80 default_server;
        server_name example.org;
        return 301 https://example.org;
}

server {
        listen 443 ssl;
        server_name example.org;

        ssl_certificate /etc/nginx/ssl/ssl_bundle.crt;
        ssl_certificate_key /etc/nginx/ssl/example.key;

        location / {
                root /home/ubuntu/example/build;
                index index.html index.htm;
        }
}
EN

回答 1

Stack Overflow用户

发布于 2021-09-22 10:33:00

一般情况下,端口与证书或TLS终端无关。如果我的假设是正确的,并且您的Django应用程序本身公开了它的端口3000,那么您需要一个代理配置来为您终止TLS。

代码语言:javascript
复制
server {
        listen 8080 ssl;
        server_name example.org;

        ssl_certificate /etc/nginx/ssl/ssl_bundle.crt;
        ssl_certificate_key /etc/nginx/ssl/example.key;

        location / {
                proxy_pass http://127.0.0.1:3000/;
                proxy_set_header Host $host;
                .....
        }
}

这将在8080端口为您终止TLS会话,并将流量转发到您的Django应用程序。还有其他更高级的选项,代理流量到您的应用程序服务器,但这一个可以做到这一点。

注意:如果您想通过NGINX代理流量,请确保端口3000不再向公众公开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69279164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档