Page 1 of 2
HTTPS на других портах
Posted: Mon Apr 29, 2019 6:32 pm
by luka
Добрый день. Решил добавить SSL сертификат (let's encrypt) для домена и перейти на HTTPS (Ubuntu 16.04.6 LTS)
В панели управления Vesta в секции управления доменами просто поставил галочку Lets Encrypt Support и всё автоматически настроилось, но появилась одна проблема.
Когда я пытаюсь достучаться до сайта, используя указание порта (допустим
https://mydomain.com:3032) то в браузере fireFox возникает предупреждение о вероятной угрозе безопасности. Если я добавляю исключение в браузере, то могу получить контент с
https://mydomain.com:3032 (просто у меня работает демон на node.js который выдает контент при запросе на этот порт. И если я не добавлю исключение в браузере для этого адреса с этим портом, доступа к этому контенту у меня не будет)
Работает лишь сам сайт по умолчанию
https://mydomain.com
Подскажите пожалуйста, как мне разрешить работу https на других портах? (раньше, когда я использовал просто http все работало нормально)
Re: HTTPS на других портах
Posted: Mon Apr 29, 2019 7:26 pm
by Alex Connor
Дык у вас же стоит nginx, пропускайте через него и будет вам счастье
Re: HTTPS на других портах
Posted: Tue Apr 30, 2019 3:05 am
by luka
Alex Connor wrote: ↑Mon Apr 29, 2019 7:26 pm
Дык у вас же стоит nginx, пропускайте через него и будет вам счастье
Спасибо большое, за оперативный ответ, но не могли бы вы подробней натолкнуть на мысль, что и где нужно прописать или дать ссылку, куда копать) Просто дело в том, что я совершенно ничего не понимаю в настройке серверов и их компонентов (поэтому Веста таких как я спасает, когда можно все в пару кликов настроить)
P.S. уже писал такое же сообщение, но форумный движок выдал сообщение о том, что оно на модерации. Извините за дубляж, если вдруг такое случится
Re: HTTPS на других портах
Posted: Tue Apr 30, 2019 6:29 am
by Alex Connor
Что именно у вас запущено на nodejs?
Re: HTTPS на других портах
Posted: Tue Apr 30, 2019 1:47 pm
by luka
Alex Connor wrote: ↑Tue Apr 30, 2019 6:29 am
Что именно у вас запущено на nodejs?
да простой скриптик, типо такого:
Code: Select all
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('/pathtocerts/certificate.key'),
cert: fs.readFileSync('/pathtocerts/certificate.crt')
};
let app = https.createServer(options, (req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(3032);
let io = require('socket.io').listen(app);
io.on('connection', function (socket) {
console.log(new Date(), '+', JSON.stringify(socket.handshake), '+');
});
То есть у меня есть доступ к сайту по адресу
https://mydomain.com а к
https://mydomain.com:3032 - нет (доступ появляется, если я добавлю этот адрес в исключение в браузере)
Таким образом и клиент socket.io в браузере тоже не может подключиться к
https://mydomain.com:3032
Получается, мне хотелось бы, чтобы HTTPS работал не только на дефолтном порту но и на 3032, ну и на других
P.S. уже писал такое же сообщение, но форумный движок выдал сообщение о том, что оно на модерации. Извините за дубляж, если вдруг такое случится
Re: HTTPS на других портах
Posted: Tue Apr 30, 2019 6:52 pm
by Alex Connor
Попробуйте отредактировай файл виртуального хоста добавив/заменив для
location / конструкцию:
Code: Select all
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:3032;
}
и затем
Re: HTTPS на других портах
Posted: Tue Apr 30, 2019 9:47 pm
by luka
Alex Connor wrote: ↑Tue Apr 30, 2019 6:52 pm
Попробуйте отредактировай файл виртуального хоста добавив/заменив для
location / конструкцию:
спасибо больше за ответ, но видимо не туда и не то я отредактировал
- зашел по пути
/home/username/conf/web и изменил файл domainname.com.nginx.ssl.conf
- в секции
location / {} заменил строчку
proxy_pass https://myIPaddress:8443; на
proxy_pass http://127.0.0.1:3032;
- добавил туда же строчки с
proxy_set_header
теперь получаю ошибку 500 при попытке доступа к сайту =(
Re: HTTPS на других портах
Posted: Thu May 02, 2019 6:35 am
by Alex Connor
доступ к серверу предоставить сможете? посмотрю
Re: HTTPS на других портах
Posted: Thu May 02, 2019 6:24 pm
by shvondersin
У меня ровно аналогичная проблема...Стоит стандартная веста апач + нгинкс...
К домену прикручен ссл..
Но еще стоит icecast2 радио... оно слушается на портах 8000 и 8001(SSL) так вот сертификат уже не проверенный его надо подтверждать....
сижу два дня не могу разобраться как надо править конфиги чтобы добавить порт 8001 для того чтобы нормально открывалось в защищенном режиме...
Очень жду помощи
Re: HTTPS на других портах
Posted: Thu May 02, 2019 6:41 pm
by shvondersin
вот апач конфиг в домашней папке
вот апач конфиг в домашней папке
Code: Select all
<VirtualHost IP:8443>
ServerName domen.ru
ServerAlias www.domen.ru
ServerAdmin [email protected]
DocumentRoot /home/admin/web/domen.ru/public_html
ScriptAlias /cgi-bin/ /home/admin/web/domen.ru/cgi-bin/
Alias /vstats/ /home/admin/web/domen.ru/stats/
Alias /error/ /home/admin/web/domen.ru/document_errors/
#SuexecUserGroup admin admin
CustomLog /var/log/apache2/domains/domen.ru.bytes bytes
CustomLog /var/log/apache2/domains/domen.ru.log combined
ErrorLog /var/log/apache2/domains/domen.ru.error.log
<Directory /home/admin/web/domen.ru/public_html>
AllowOverride All
SSLRequireSSL
Options +Includes -Indexes +ExecCGI
php_admin_value open_basedir /home/admin/web/domen.ru/public_html:/home/admin/tmp
php_admin_value upload_tmp_dir /home/admin/tmp
php_admin_value session.save_path /home/admin/tmp
</Directory>
<Directory /home/admin/web/domen.ru/stats>
AllowOverride All
</Directory>
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /home/admin/conf/web/ssl.domen.ru.crt
SSLCertificateKeyFile /home/admin/conf/web/ssl.domen.ru.key
SSLCertificateChainFile /home/admin/conf/web/ssl.domen.ru.ca
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
RGroups www-data
</IfModule>
<IfModule itk.c>
AssignUserID admin admin
</IfModule>
IncludeOptional /home/admin/conf/web/sapache2.domen.ru.conf*
</VirtualHost>
NGINX
Code: Select all
server {
listen IP:443 ssl;
server_name domen.ru www.domen.ru;
ssl_certificate /home/admin/conf/web/ssl.domen.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.domen.ru.key;
error_log /var/log/apache2/domains/domen.ru.error.log error;
location / {
proxy_pass https://IP:8443;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|svg|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|odt|ods|odp|odf|tar|wav|bmp|rtf|js|mp3|avi|mpeg|flv|html|htm)$ {
root /home/admin/web/domen.ru/public_html;
access_log /var/log/apache2/domains/domen.ru.log combined;
access_log /var/log/apache2/domains/domen.ru.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias /home/admin/web/domen.ru/document_errors/;
}
location @fallback {
proxy_pass https://IP:8443;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include /home/admin/conf/web/snginx.domen.ru.conf*;
}
на icecast порт ССЛ 8001... как его добавить ума не приложу