Я развертываю приложение keystonejs на Ubuntu 16 с docker-compose и имею действительный сертификат letsencrypt.
Я добавил следующие настройки в keystone.js
'ssl': true
'port': 3000,
'admin path': 'admin',
'ssl cert': '/etc/letsencrypt/live/mydomain.com/fullchain.pem',
'ssl key': '/etc/letsencrypt/live/mydomain.com/privkey.pem',
'letsencrypt': (process.env.NODE_ENV === 'production') && {
email: 'user@gmail.com',
domains: ['www.mydomain.com', 'mydomain.com'],
register: true,
tos: true,
},
Сервер запускается нормальнопоказывая мне это:
app |
app | ------------------------------------------------
app | KeystoneJS v4.0.0 started:
app | mydomain is ready on http://0.0.0.0:3000
app | SSL Server is ready on https://0.0.0.0:3001
app | ------------------------------------------------
app |
Но когда я захожу на свой сайт.он не отображается как защищенный на вкладке URL в браузере.Он показывает небольшой восклицательный знак (!), Говоря: ваше соединение с этим сайтом не защищено.
У меня есть apache2 на моем сервере.
в / etc / apache2 / sites-available / mydomain.com.conf У меня есть это:
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin info@mydomain.com
ServerName mydomain.com
ServerAlias www.mydomain.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html
DocumentRoot /var/www/html/mydomain.com/
# Log file locations
LogLevel warn
ErrorLog /var/www/html/mydomain.com/log/error.log
CustomLog /var/www/html/mydomain.com/log/access.log combined
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
ProxyPreserveHost On
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mydomain.com [OR]
RewriteCond %{SERVER_NAME} =mydomain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
и в /etc/apache2/sites-available/mydomain.com.le.ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin info@mydomain.com
ServerName mydomain.com
ServerAlias www.mydomain.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html
DocumentRoot /var/www/html/mydomain.com/
# Log file locations
LogLevel warn
ErrorLog /var/www/html/mydomain.com/log/error.log
CustomLog /var/www/html/mydomain.com/log/access.log combined
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
ProxyPreserveHost On
Include /etc/letsencrypt/options-ssl-apache.conf
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem
</VirtualHost>
</IfModule>
Я попытался указатьпорт ProxyPass & ProxyPassReverse для порта 3001.Но сайт никогда не будет доступен.Любая помощь очень ценится.