Điểm:0

Khối máy chủ Nginx không chuyển hướng

lá cờ id

Tôi đang làm việc trên một dự án tại https://Modernamedia.no/ và tôi đang cố gắng làm nhiều thứ

  • chuyển hướng tất cả các cuộc gọi đến www.Modernamedia.no đến https://Modernamedia.no/
  • proxypass localhost:5000 tới api.Modernamedia.no
  • chuyển hướng tất cả các lệnh gọi http sang https.

cái cuối cùng đang hoạt động. tuy nhiên, hai cái đầu tiên không hoạt động. Bạn có thể tự kiểm tra bằng cách vào https://www.Modernamedia.no/

Tôi cũng đang gặp khó khăn khi tiếp cận máy chủ cục bộ của mình thông qua lệnh gọi API, nhưng đó có thể là sự cố liên quan đến mã.

https://stackoverflow.com/questions/71374284/angular-api-request-to-net-5-api-neterr-connection-refuse

conf.d

người phục vụ {
    nếu ($host = www.Modernamedia.no) {
        trả lại 301 https://modernamedia.no$request_uri;
    } # được quản lý bởi Certbot

    nếu ($host = modernamedia.no) {
        trả lại 301 https://$host$request_uri;
    } # được quản lý bởi Certbot

    # Chuyển hướng đến đúng nơi, nếu cần
    đặt $https_redirect 0;
    nếu ($server_port = 80) { đặt $https_redirect 1; }
    if ($host ~ '^www\.') { set $https_redirect 1; }
    nếu ($https_redirect = 1) {
        trả lại 301 https://modernamedia.no$request_uri;
    }

    nghe 80;
    server_name modernamedia.no;
    trả lại 404; # được quản lý bởi Certbot
}


người phục vụ {
    nghe [::]:443 ssl http2 ipv6only=on;
    nghe 443 ssl http2; # được quản lý bởi Certbot
    server_name modernamedia.no;
    địa điểm / {
        proxy_pass http://localhost:4000;
        proxy_http_version 1.1;
        proxy_set_header Nâng cấp $http_upgrade;
        'nâng cấp' kết nối proxy_set_header;
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_cache_bypass $http_upgrade;
    }
    ssl_certificate /etc/letsencrypt/live/modernamedia.no/fullchain.pem; # được quản lý bởi Certbot
    ssl_certificate_key /etc/letsencrypt/live/modernamedia.no/privkey.pem; # được quản lý bởi Certbot
    bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
    # ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}


người phục vụ {
    nghe 80;
    server_name www.Modernamedia.no;

    trả lại 301 https://modernamedia.no$request_uri;
}

người phục vụ {
    nghe 81;
    server_name api.Modernamedia.no;
    gốc /var/www/ModernaMedia/DotNet;
    địa điểm / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Nâng cấp $http_upgrade;
        proxy_set_header Kết nối vẫn hoạt động;
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}


trang web có sẵn/mặc định

người phục vụ {
    nghe 81;
    server_name api.Modernamedia.no;
    gốc /var/www/ModernaMedia/DotNet;
    địa điểm / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Nâng cấp $http_upgrade;
        proxy_set_header Kết nối vẫn hoạt động;
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Modernamedia.service

[Đơn vị]
Mô tả=Dịch vụ ModernaMedia Net5
[Dịch vụ]
WorkingDirectory=/var/www/ModernaMedia/DotNet
ExecStart=/usr/bin/dotnet /var/www/ModernaMedia/DotNet/ModernaMediaDotNet.dll
Khởi động lại = luôn luôn
# Khởi động lại dịch vụ sau 10 giây nếu dịch vụ dotnet gặp sự cố:
Khởi động lạiSec=10
KillSignal=SIGINT
SyslogIdentifier=ModernaMedia-dotnet
Người dùng = dữ liệu www
Môi trường=ASPNETCORE_ENVIRONMENT=Sản xuất
Môi trường=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Cài đặt]
WantedBy=multi-user.target

Và tôi có thể truy cập máy chủ .NET của mình thông qua curl

Điểm:1
lá cờ us

Bạn nên đảm bảo rằng Certbot không chạm vào các tệp cấu hình nginx của bạn. Nó sử dụng một cách tiếp cận có vấn đề và mong manh để cấu hình mọi thứ.

Thay vào đó, hãy sử dụng cách tiếp cận sau:

# Chuyển hướng yêu cầu HTTP sang HTTPS
người phục vụ {
    nghe 80;
    server_name modernamedia.no www.modernamedia.no;

    # Cho phép phân phát các thử thách xác thực HTTP của Letsencrypt

    vị trí /.well-known {
        try_files $uri $uri/ =404;
    }

    # Thực hiện chuyển hướng đến https
    địa điểm / {
        trả lại 301 https://modernamedia.no$request_uri;
    }
}

# Chuyển hướng https://www.Modernamedia.no sang https://Modernamedia.no
người phục vụ {
    nghe 443 ssl http2;
    server_name www.Modernamedia.no;

    ssl_cert /đường dẫn/đến/ssl_cert;
    ssl_certificate_key /path/to/ssl_key;

    trả lại 301 https://modernamedia.no$request_uri;
}

# https://Modernamedia.no
người phục vụ {
    nghe 443 ssl http2;
    server_name modernamedia.no;

    ssl_cert /đường dẫn/đến/ssl_cert;
    ssl_certificate_key /path/to/ssl_key;

    # Cấu hình trang web thực tế tại đây
}
Stanley avatar
lá cờ id
Cảm ơn bạn! Tôi không biết vấn đề là gì, nhưng cấu hình của bạn chắc chắn đã hoạt động!
Stanley avatar
lá cờ id
api.Modernamedia.no vẫn không hoạt động để chuyển hướng phần phụ trợ .net
lá cờ us
Vui lòng mở một câu hỏi mới trên ứng dụng dot.net, với lời giải thích rõ ràng "không hoạt động" chính xác nghĩa là gì.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.