linux cURL不工作,但同一网站与浏览器工作

hfwmuf9z  于 2023-06-29  发布在  Linux
关注(0)|答案(4)|浏览(284)

使用cURL表单linux服务器访问站点时返回错误的原因是什么?但在Chrome中打开此站点成功。

ctrmrzij

ctrmrzij1#

在发送请求时查看浏览器的标头,并将相同的标头添加到cURL请求。一些服务器需要一些头,浏览器发送默认的,但不是cURL。

cyvaqqii

cyvaqqii2#

要避免/抑制SSL错误,请使用-k标志,即

curl -k ...
polkgigr

polkgigr3#

我在curl上有301 Moved Permanently错误,但正在浏览器上工作。

但是当我深入研究时,有Location要移动到位置,这将是有效的。这可能是当服务器使用TLS时。

$ curl -v http://www.shaharma.com/location/v1/US/zipcode/98104
*   Trying 172.111.99.100...
* TCP_NODELAY set
* Connected to www.shaharma.com (172.111.99.100) port 80 (#0)
> GET /location/v1/US/zipcode/98104 HTTP/1.1
> Host: www.shaharma.com
> User-Agent: curl/7.54.0
> Accept: */*
> 
< HTTP/1.1 301 Moved Permanently
< Content-Length: 0
< Location: https://www.shaharma.com/location/v1/US/zipcode/98104
< Cache-Control: max-age=0
< Expires: Fri, 01 Dec 2017 19:40:14 GMT
< Date: Fri, 01 Dec 2017 19:40:14 GMT
< Connection: Keep-Alive
< Set-Cookie: UID=52679eee-c06c-49fc-893a-69fd7e46bad0; expires=Fri, 25-Feb-2028 19:40:14 GMT; path=/; domain=.shaharma.com
< Set-Cookie: SID=1ada5fa9-0ace-4f4e-b75b-7a756b8da934; path=/; domain=.shaharma.com
< Set-Cookie: shaharma_loc_lb=p-loc-w; expires=Fri, 01-Dec-2017 19:50:14 GMT; path=/; domain=.shaharma.com
< Set-Cookie: bby_rdp=l; expires=Sat, 02-Dec-2017 19:40:14 GMT; path=/; domain=.shaharma.com
< 
* Connection #0 to host www.shaharma.com left intact

此外,您可以后藤浏览器并查看网络,其中将包含头信息。

rhfm7lfc

rhfm7lfc4#

对我来说,这是因为我在nginx中这样配置了acme.sh生成的证书:

ssl_certificate /root/.acme.sh/my.domain.com_ecc/my.domain.com.cer;
ssl_certificate_key /root/.acme.sh/my.domain.com_ecc/my.domain.com.key;

但我需要使用全链证书配置它:

ssl_certificate /root/.acme.sh/my.domain.com_ecc/fullchain.cer;
ssl_certificate_key /root/.acme.sh/my.domain.com_ecc/my.domain.com.key;

相关问题