在我的 Rpi 上加载资源时出现 SSL 问题

我在 Raspbian 上使用 Asp.Net Core。


我使用 NGINX 作为我的网络服务器


我尝试加载资源并连接到我的 Web api 控制器


问题是我的 uri 正在从 http 更改为 https。


由于我想在网络上的其他地方浏览该网站,因此我能实现的目标非常有限。如果我在 Pi 本身上并使用 localhost 或 127.0.0.1,则一切加载正常。如果我使用 dhcp 地址访问它,则会失败。


它之所以有效,是因为我使用的是 Open SSL,但仅限于本地级别。


这是我的 NGINX:


server {

listen 80 default_server;

listen [::]:80 default_server;


# SSL configuration

#

# listen 443 ssl default_server;

# listen [::]:443 ssl default_server;

#

# Note: You should disable gzip for SSL traffic.

# See: https://bugs.debian.org/773332

#

# Read up on ssl_ciphers to ensure a secure configuration.

# See: https://bugs.debian.org/765782

#

# Self signed certs generated by the ssl-cert package

# Don't use them in a production server!

#

# include snippets/snakeoil.conf;

    listen               443;

    ssl                  on;

    ssl_certificate      /home/pi/web/localhost.crt;

    ssl_certificate_key  /home/pi/web/localhost.key;

    ssl_ciphers          HIGH:!aNULL:!MD5;



root /var/www/html;


# Add index.php to the list if you are using PHP

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


server_name _;







location /FindMotion/ {

        proxy_pass http://localhost:5000/;

        proxy_http_version 1.1;

        proxy_set_header Connection keep-alive;

        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Host   $http_host;

        proxy_set_header X-Forwarded-Proto  http;

        proxy_set_header X-Forwarded-Path   /FindMotion;

}

}

浏览控制台中的错误是: https://192.168.0.12/Connection/ImageData 404(未找到)


我是否正确地认为这无法工作,因为 Open SSL 不够?


如果是这样,我认为我必须获得“适当的”SSL 并且为此需要一个域名,这是否也是正确的?


如果是这样的话,对于我销售/生产的每一种产品,我都需要一个域名和静态地址吗?


我的理解完全错误还是完全正确?请问我有什么选择?在过去的几天里我尝试了很多事情,但没有任何效果。


我非常需要建议。


烙印99
浏览 106回答 1
1回答

萧十郎

我认为这更有可能是 nginx 配置问题。404 not found 表示 403 上没有任何内容。并不是说 TSL 版本或 SSL 版本不适合您。您可能会从 nginx 收到 400(错误请求)或 495(SSL 错误)。像这样尝试一下。对此我不确定。但我从未见过 http 和 https 在同一个块中配置。现在我不是系统管理员,离它还很远,但我自己的服务器的设置更像是这样。我还在其中放置了一行 ssl_protocols 来指定基本上所有这些协议。也许这有帮助。但正如我所说,当您返回 404 时,我认为这不会是 TLS 或 SSL 问题。server {listen 80 default_server;listen [::]:80 default_server;return 301 https://192.168.0.12$request_uri;}server {    listen               443;    ssl                  on;    ssl_certificate      /home/pi/web/localhost.crt;    ssl_certificate_key  /home/pi/web/localhost.key;    ssl_ciphers          HIGH:!aNULL:!MD5;    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;root /var/www/html;# Add index.php to the list if you are using PHPindex index.html index.htm index.nginx-debian.html;server_name _;location /FindMotion/ {        proxy_pass http://localhost:5000/;        proxy_http_version 1.1;        proxy_set_header Connection keep-alive;        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Host   $http_host;        proxy_set_header X-Forwarded-Proto  http;        proxy_set_header X-Forwarded-Path   /FindMotion;}}}
打开App,查看更多内容
随时随地看视频慕课网APP