当前位置: 首页 > 知识库问答 >
问题:

Nginx反向代理与let加密停止工作,我不知道为什么

夏谦
2023-03-14

我在 Debian 上托管了一个 web 应用程序,在端口 8443 上公开。我正在使用SSL的letsencrypt证书(通过certbot),当我连接到 https://example.com:8443 时,webapp工作正常。

为了允许连接通过https://example.com我使用nginx作为反向代理,多年来一直运行良好。然而,在上个月发生了一些事情,这些事情不再起作用。我的配置不再有效吗?

这是我的 /etc/nginx/sites-available/default:

server {
    listen 80 default_server;
    server_name www.example.com example.com;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl default_server;
    server_name www.example.com example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot

    location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass https://localhost:8443/;
            proxy_redirect http://localhost:8443/ https://localhost:8443/;
    }
   
    error_page 502 /502.html;
   
    location /502.html {
        root /var/www/html;
    }
}

据我所知,第一个服务器块中的重定向仍然有效,但端口443不会击中我的webapp。

我尝试添加以下行,并重新安装certbot,但没有效果。

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

在执行日志tl-u nginx-e-f时,我看不到任何错误,nginx似乎运行良好。

当试图连接到https://example.com我得到一个连接超时错误在浏览器和curl。

我束手无策,非常感谢您对调试的任何帮助或想法。

共有1个答案

淳于恺
2023-03-14

原来我有一个iptable规则将443重定向到8080。我是通过做< code>iptables -L -n -t nat发现的。

谢谢Telinov Dmitri帮我调试问题。

 类似资料:
  • 据我所知,问题必须与Ngnix反向代理和websockets如何路由有关。服务器对ping请求的答复似乎没有发送到客户端。但我似乎无法确定原因。任何帮助都是非常感谢的。

  • 而且,如果我添加这样的内容: 单击它,我将正确地发送到,它显示中的内容。 这一切都按预期进行,而且非常完美。 我在这里做错了什么?我需要重写请求路径吗?

  • 我有一个带有Express和Socket.io(Ubuntu18.04)的Nodejs服务器应用程序。在nGinx(1.14)反向代理进入场景之前,它总是工作得很好。nginx服务器运行在Node.js应用程序的不同机器上,每个应用程序都在同一网络中的自己的虚拟机上。 2.1.1版本上的服务器和客户端。 我还尝试删除path选项,并为socket.io东西配置了一个特定的/位置(出于测试目的):

  • 我试图使用Apache创建一个反向代理。我正在使用Apache为一个php应用程序提供服务,并在node中编写了一个使用Express的API。 在我的PHP应用程序中,我使用AJAX调用node来检索JSON。我希望使用端口80进行PHP应用程序中的调用,并使用Apache来表达一个反向代理。

  • 作为一名链表数据结构的学习者,我正在练习Leetcode问题“反向链表”,我有自己的解决方案,但不知道为什么它是错误的,有专家可以分享一些指导吗?真的很感激! Leetcode问题: 反转单链接列表。 例: 输入:1- 输出: 5- 我的代码: 然而,上述解决方案是错误的,但可以通过在“temp.next=prev”和“head=head.next”之间切换位置进行纠正,如下所示: 对我来说,切换

  • 本文向大家介绍nginx正向代理与反向代理详解,包括了nginx正向代理与反向代理详解的使用技巧和注意事项,需要的朋友参考一下 正向代理 就是假设有一个内网 内网有两台机器,这两台机器只有 a 可以上网 b 不能上网,但是 a 和 b 通过网络相连接 这时如果 b 想访问外网,就可以通过 a 来正向代理访问外网 正向代理就是在内网中模拟目标服务器,把内网中其它机器的请求 转发给外网中的真正的目标服