Клиент запроса не является безопасным контекстом, а ресурс находится в более приватном адресном пространстве `localJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Клиент запроса не является безопасным контекстом, а ресурс находится в более приватном адресном пространстве `local

Сообщение Anonymous »

Я разрабатываю свой веб-сайт на Java и реагирую. Я загрузил свой сайт на виртуальную машину и запустил его. Связь между клиентской частью и серверной частью происходит с помощью nginx. конфигурация nginx

Код: Выделить всё

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
worker_connections  1024;
}

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log  /var/log/nginx/access.log  main;
sendfile        on;
keepalive_timeout  65;
gzip  on;

server {
listen 80;

# Example of reverse proxy, separate front end and back end
location /authApi {

resolver 127.0.0.11 valid=30s; # Docker DNS
proxy_pass http://auth:8080/authApi;
proxy_redirect default;
}

location /accountApi {

resolver 127.0.0.11 valid=30s; # Docker DNS
proxy_pass http://account:8081/accountApi;
proxy_redirect default;
}

location /taskApi {
resolver 127.0.0.11 valid=30s; # Docker DNS
proxy_pass http://task:8082/taskApi;
proxy_redirect default;
}

location / {
resolver 127.0.0.11 valid=30s;
proxy_pass http://frontend:3000;
proxy_redirect default;
}
}
}
Отключить CORS в Java

Код: Выделить всё

@Bean
@SneakyThrows
public SecurityFilterChain securityFilterChain(HttpSecurity http) {
return http.cors(Customizer.withDefaults()).csrf(AbstractHttpConfigurer::disable)
.authorizeHttpRequests(request -> request
.requestMatchers(HttpMethod.OPTIONS, "/**").permitAll()
.anyRequest().permitAll()
)
.build();
}
Все контроллеры отмечены аннотацией @CrossOrigin
Страница входа в React

Код: Выделить всё

const Login = (props) => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [errorMessage, setErrorMessage] = useState('');
const [showErrorPopup, setShowErrorPopup] = useState(false);
const navigate = useNavigate();

const handleSubmit = async (event) => {
event.preventDefault();
setEmail('')
setPassword('')
try {
const response = await axios.post(props.url + "/authApi/login",
{ email: email, password: password })
Cookies.set('token', response.data.message)
navigate('/')
} catch (error) {
setShowErrorPopup(true)
console.log(error)
console.log(error.response)
setErrorMessage(error.response.data.message)
}
};

const handleRegisterRedirect = () => {
navigate('/registration');
};

const closeErrorPopup = () => {
setShowErrorPopup(false);
};

return (


Login

LOGIN


Email
 setEmail(e.target.value)}
required
/>

Password
  setPassword(e.target.value)}
required
/>

Login

Don't have an account yet? [url=/registration]Register[/url]


{showErrorPopup && (


{errorMessage}
Close


)}

);
};

export default Login;
App.js

Код: Выделить всё

function App() {

// const authService = 'http://localhost:8080'
// const accountService = 'http://localhost:8081'
// const taskService = 'http://localhost:8082'
const url = 'http://localhost:80'

return (










);
}

export default App;
Когда я нажимаю кнопку входа и отправляю запрос на

Код: Выделить всё

http://auth:8080/authApi/login
Я получаю сообщение об ошибке
Изображение
Можно ли исправить эту ошибку, не меняя сервер на https? Я попробовал добавить заголовки Access-Control-Allow-Origin *, Access-Control-Allow-Private-Network: true в моем nginx, это не работает. Еще я знаю, что можно отключить флаг в Google, но это решает проблему только локально. Возможно, можно как-то настроить nginx, чтобы он отправлял запросы на сервер не с ip 176.109.106.164, а с ip 127.0.0.1, например?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -private-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»