簡體   English   中英

遠程訪問本地 ASP.NET Core 應用程序 NGINX

[英]Remote Access to Local ASP.NET Core app NGINX

我發表我的raspberrypi3(raspbian)nginx的我的ASP.NET核心應用。

我按照微軟文檔配置了 nginx:在 localhost 上一切正常,但我無法從本地網絡上的其他設備訪問該應用程序 (ERR_CONN_REFUSED)。

我在端口 81 上設置了反向代理,因為在端口 80 上我有另一個管理 php 站點(包括 phpmyadmin)的服務器,如下所示:

server {
listen 80 default_server;
listen [::]:80;

root /var/www/html;

index index.php index.html index.htm index.nginx-debian.html;

server_name php.it *.php.it;

location / {

    try_files $uri $uri/ =404;
}


location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}}

server {
listen 81;

server_name example.com *.example.com;

location / {
    proxy_pass         http://localhost:5000;
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection keep-alive;
    proxy_set_header   Host $host;
    proxy_cache_bypass $http_upgrade;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
}}

不知道是/etc/nginx/sites-available/default文件的配置問題還是asp.net Core應用的問題。 我認為問題是本地主機,但我不知道如何解決它。

另外,我不確定應該在 server_sites 中放什么,它指的是什么? 謝謝

在您的第一個配置中,您已經設置了php.it域,因此如果您設置了正確的 DNS,您的站點應該可以通過http://php.it/訪問。

但是您已經設置了偵聽default_server因此它也可以在沒有主機的情況下訪問。

在您的第二種情況下,缺少default_server因此主機是強制性的。 example.com:81應該可以訪問您的頁面,如果您設置了正確的 DNS。

解決方案:

  • 如果您想訪問沒有域名的網站,只需純IP,請刪除server_name
  • 如果你想為81端口設置默認服務器,添加listen 81 default_server;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM