У меня есть Windows10 хост с Ubuntu без GUI, установленный на гостевом устройстве VirtualBox. У меня есть выделенный домашний сетевой адрес c IP для Ubuntu (198.162.0.110). На этом VBox-Ubuntu я настроил прокси-сервер nginx, который обеспечивает HTTPS-соединение с HTTP-сервером разработки Rails. Я использую соединение s sh (putty, vscode-s sh, winscp и другие) для подключения моего хоста (win10) к гостю (Ubuntu), чтобы использовать среду разработки на Windows.
Мне удалось настроить Nginx прокси-сервер, который позволяет подключаться через HTTPS (мне нужно это для разработки и тестирования безопасных файлов cookie и т. Д. c.).
Теперь я могу подключиться к серверному приложению, как это: https://192.168.0.110 «успешно», но я получаю следующее отклонение:
I go Proceed to 192.168.0.110 (unsafe)
и приложение появляется и работает. Но теперь мне нужно выполнить вход в социальную сеть (Facebook), и это Not secure
, похоже, является проблемой. Facebook требует безопасного соединения:
Вот моя Nginx конфигурация:
server {
listen 443 ssl;
listen 80;
server_name 192.168.0.110 localhost 127.0.0.1;
root /home/csrhub/git/csrhub-frontend/public/rails;
index index.html;
location / {
proxy_pass http://127.0.0.1:8016/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header Port 443;
proxy_ssl_trusted_certificate /etc/nginx/ssl/certs/homerouter/homerouter.crt;
proxy_read_timeout 80s;
}
location /api/v2/ {
proxy_pass http://127.0.0.1:8014;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_redirect http:// https://;
}
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
ssl_certificate /etc/nginx/ssl/certs/homerouter/homerouter.crt;
ssl_certificate_key /etc/nginx/ssl/certs/homerouter/homerouter.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}
Вот так я сгенерировал сертификат : openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout homerouter.key -out homerouter.crt -config homerouter.conf
Это файл конфигурации homerouter.conf , используемый при создании сертификата.
[req]
default_bits = 2048
default_keyfile = localhost.key
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca
[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = US
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = New York
localityName = Locality Name (eg, city)
localityName_default = Rochester
organizationName = Organization Name (eg, company)
organizationName_default = localhost
organizationalUnitName = organizationalunit
organizationalUnitName_default = Development
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_default = localhost
commonName_max = 64
[req_ext]
subjectAltName = @alt_names
[v3_ca]
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
DNS.2 = 127.0.0.1
DNS.3 = 192.168.0.110
DNS.4 = 192.168.43.60
Очевидно, что я что-то упустил или, по крайней мере, я что-то делаю не правильный путь. Пожалуйста, помогите мне сделать это соединение безопасным. В конце концов, это моя домашняя локальная сеть - здесь все доверяют.