为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
烙印99 2023-08-20 10:04:23
我在 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 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;}}浏览控制台中的错误是: https://192.168.0.12/Connection/ImageData 404(未找到)我是否正确地认为这无法工作,因为 Open SSL 不够?如果是这样,我认为我必须获得“适当的”SSL 并且为此需要一个域名,这是否也是正确的?如果是这样的话,对于我销售/生产的每一种产品,我都需要一个域名和静态地址吗?我的理解完全错误还是完全正确?请问我有什么选择?在过去的几天里我尝试了很多事情,但没有任何效果。我非常需要建议。
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

我认为这更有可能是 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 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;

}

}

}


查看完整回答
反对 回复 2023-08-20
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信