Я размещаю веб-сайт на сервере AWS Lighsail. это один сервер, и я запускаю на нем 4 контейнера докеров. 1-nginx, 2-node js, 3-весенний бот, 4 - mysql.
На данный момент мой сайт отлично загружается с этим:
server {
listen 80;
server_name *.example.com;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
client_max_body_size 100M;
location / {
proxy_pass http://cahub-client:4000;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://microservice:8080;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Я купил ssl-сертификат у goddady и теперь устанавливаю его на свой сервер.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name *.domain.com;
ssl_certificate /etc/nginx/certs/cae51a61335308544.pem;
ssl_certificate_key /etc/nginx/certs/www.eaxmple.com.key;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
client_max_body_size 200M;
location / {
proxy_pass http://cahub-client:4000;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://microservice:8080;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Так что то, что здесь происходит, есть сейчас. что когда я набираю свой домен в URL-адресе, он перенаправляется на https, но запускается только угловой блок местоположения клиента, который является моим интерфейсом. но всякий раз, когда делается вызов из внешнего интерфейса в серверный. он также должен перейти в мой блок обратного прокси / api .. это не reolvong, вместо этого обнаружена ошибка смешанного контекста. когда я вижу на вкладке сети. Мой вызов через интерфейс выполняется как https://example.com но мой внутренний вызов идет как раньше http://example.com/api/.
Вам нужно исправить ваше веб-приложение, чтобы оно выполняло внутренние вызовы https://example.com/api
вместо того http://example.com/api
.