我正在尝试使用客户端上的乌贼透明代理进行npm安装。我的鱿鱼服务器是172.21.243.84:3128。客户端和服务器都使用centos 7。 在客户端上,我使用以下命令设置代理:
export https_proxy='https://172.21.243.84:3128'
export http_proxy='http://172.21.243.84:3128'
然后我运行“ npm install npm”, 我收到类似这样的错误:
npm ERR! code EPROTO
npm ERR! errno EPROTO
npm ERR! request to https://registry.npm.taobao.org/npm failed, reason: write EPROTO 139980905441152:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
npm ERR!
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2020-04-20T10_46_23_058Z-debug.log
然后我检查了鱿鱼日志,在下面得到了很多“ 400”信息:
1587379583.046 0 172.21.29.52 TAG_NONE/400 4112 c %AD;%B2O%19%8C%F7%87%DDW%A7F%06%AAB0H%1E%98 - HIER_NONE/- text/html
1587379728.415 0 172.21.29.52 TAG_NONE/400 4495 NONE error:invalid-request - HIER_NONE/- text/html
........
但是,如果我使用“ npm install npm --proxy http://172.21.243.84:3128”,则效果很好。
我的鱿鱼配置是:
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
#http_access allow localhost
acl allowed_http_sites dstdomain "/etc/squid/squid.allowed.sites.txt"
http_access allow allowed_http_sites
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 3128 ssl-bump cert=/etc/squid/cert.pem
acl allowed_https_sites ssl::server_name "/etc/squid/squid.allowed.sites.txt"
acl step1 at_step SslBump1
acl step2 at_step SslBump2
acl step3 at_step SslBump3
ssl_bump peek step1 all
ssl_bump peek step2 allowed_https_sites
ssl_bump splice step3 allowed_https_sites
ssl_bump terminate step2 all
# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
任何人都知道如何在不使用“ --proxy”的情况下修复我的鱿鱼以使其可用于npm安装吗?
谢谢