O Nginx configura o código de status entre domínios 200, mas relata um erro CORS, que na verdade é entre domínios

O Nginx configura o código de status entre domínios 200, mas relata um erro CORS, que na verdade é entre domínios

Ontem, o ubuntu lançou o projeto vue online através do nginx.
Hoje, ao depurar a interface em segundo plano, há um problema de domínio cruzado. Como o online está no mesmo nome de domínio, não haverá domínio cruzado ao chamar a interface no projeto online.O principal problema é que há problemas entre domínios durante a depuração local;

Solução:

Adicione esta configuração à configuração do nginx

add_header Access-Control-Allow-Methods '*';
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Headers $http_access_control_request_headers always;
if ($request_method = OPTIONS) {
    
    
	return 200;
}
// 在server下的location中配置

Após configurar, lembre-se de reiniciá-lo,
neste momento você pode acessá-lo, mas ao chamar a interface, você verá que o código de status na rede retorna 200, mas o estado apresenta erro de CORS.
insira a descrição da imagem aqui
insira a descrição da imagem aqui
O motivo é o seguinte , não conheço a irmã Li~~
Neste momento, o nginx foi configurado com sucesso.
Após consulta constante com Du Niang, vi um motivo mais confiável: o mecanismo js do navegador também segue a política de mesma origem ao analisar. Como o endereço do navegador local não está no mesmo nome de domínio do endereço acessado, ele retorna domínio cruzado erro.
É relativamente simples saber o motivo. Você pode consultar meu artigo anterior para depuração conjunta local de front-end e back-end e depuração entre domínios . Embora não seja mais depuração conjunta local, o método usado é o mesmo, usando proxy encaminhamento de proxy para enganar o navegador.
Depois que o proxy proxy for concluído de acordo com a configuração de domínio cruzado da depuração conjunta local de front-end e back-end , você poderá visitá-lo novamente.

Projetos formais não devem configurar Access-Control-Allow-Methods '*', não é seguro, porque não importa quem configure um proxy, eles podem acessar sua interface, e eu não expliquei a configuração nginx acima, explicada Também é enganoso leitores, porque tenho um conceito vago sobre isso e atualmente estou explorando e aprendendo. Se você precisar saber mais, acesse Baidu, O(∩_∩)O hahaha~

Compartilhe uma experiência de pisar todos os dias~~~

Acho que você gosta

Origin blog.csdn.net/m0_46496355/article/details/123706879
Recomendado
Clasificación