Nginx Docker react ec2 https连接被拒绝

zsohkypk  于 2023-01-25  发布在  Nginx
关注(0)|答案(1)|浏览(161)

尝试了许多不同版本的nginx. conf,但当我输入https://域时,似乎没有任何东西可以减轻经典的连接拒绝页面。
需要注意的是,域名以. dev结尾,不知道这是否重要。
该域名是在google domains上购买的,并且有一个记录Map到一个公共EC2示例,该示例具有正在运行的nginx服务器(在docker容器内)。
nginx.conf:

server {
  listen 80;

  server_name random.dev www.random.dev;

  return 301 https://random.dev$request_uri;
}

server {
  listen 443 default_server ssl;

  server_name random.dev www.random.dev;

  ssl on;
  ssl_certificate /etc/ssl/certs/ssl-bundle.crt;
  ssl_certificate_key /etc/ssl/private/private.key;

  index index.html index.htm;
  root /usr/share/nginx/html;

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

}

停靠文件:

FROM node:17.7.1 as builder

WORKDIR /usr/src/app

COPY package*.json /usr/src/app/

RUN npm install

COPY . /usr/src/app/

RUN npm run build

FROM nginx:latest

COPY --from=builder /usr/src/app/build /usr/share/nginx/html

RUN rm /etc/nginx/conf.d/default.conf

COPY nginx.conf /etc/nginx/conf.d

COPY ./ssl /etc/ssl

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

对接-组合:

version: "3"

services:
  ui:
    image: <image> 
    ports:
      - 80:80
      - 443:443

EC2示例具有Amazon Linux 2风格。
安全组Map似乎是正确的,ssh(22)、http(80)和https(443)接受来自任何地方的入站。
网络ACL为默认值(对所有人开放,包括入站和出站)。
在运行了docker-compose之后,我还尝试使用netstat(在ec2内部,在docker外部)检查80和443是否在监听,它们确实在监听。
当我注解掉443 nginx conf代码时,原始IP(而不是域)上的http已经工作了,但是域不工作,因为. dev和. app自动重定向到chrome上的https(我相信还有firefox)。
考虑到这一点,想知道是否还有人遇到过类似我的问题。这是亚马逊Linux 2的问题,还是. dev的问题,或者可能是SSL的问题?

m1m5dgzv

m1m5dgzv1#

进行了一系列更改,但修复似乎与为ec2示例分配弹性IP地址有关。
不知道什么原因,我用的当地wifi(Verizon)总是导致对ping <ip-address>上的IP地址的超时请求。(康卡斯特以及ATT移动的数据),IP地址没有被拒绝,这很可能和IP地址被Verizon列入黑名单有关,我不确定是所有静态IP都被列入黑名单还是我们只是运气不好。分配的弹性IP似乎解决了该问题。

相关问题