У меня есть ключ, сертификат и сертификат цепи. Домен выглядит как automation.mydomain.comКонфигурация NGINX для прокси-запросов SSL на сервер Sinatra
У меня есть сервер Sinatra, работающий на localhost:3000
, подтвержденный с помощью curl localhost:3000/test
.
Я хотел бы, чтобы перенаправить порт 80 и порт 443 трафика на 3000. Вот мой /etc/sites-enabled/sinatra
конфигурации:
upstream app_aggregator {
server 127.0.0.1:3000;
keepalive 8;
}
# the nginx server instance
server {
listen 0.0.0.0:80;
server_name automation.mydomain.com my_site;
access_log /var/log/nginx/aggregator.log;
# pass the request to the node.js server with the correct headers
# and much more can be added, see nginx config options
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_aggregator/;
proxy_redirect off;
}
}
Примечание выше не работает (http://automation.mydomain.com/ приводит к ERR_NAME_NOT_RESOLVED
). Я не уверен, как добавить ключ, нормальный сертификат и сертификат цепи в этот микс.
Я решил эту проблему в прошлом с конфигурацией node.js, которая с удовольствием использовала ключи, а SSL работал отлично, но я никогда не использовал nginx.
Стоит отметить, что я использую Amazon AWS и открываю только 80 и 443.