Ребята, такая беда, У меня стоит Joomla на сайте testsite2.ua(виртуалка) Хочу, что бы меня редиректило с http://testsite2.ua на https://testsite2.ua... Добавил в конф nginx
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
Для файла htaccess.exe в нутри сайта добавил
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}
в файле конфигурации apache прописать AllowOverride all
Все редиректит, ввожу testsite2.ru --> переводит на https://testsite2.ua но не отображает страничку FireFox выдает следующее
Unable to connect
Firefox can't establish a connection to the server at www.testsite2.ua.
The site could be temporarily unavailable or too busy. Try again in a few
moments.
If you are unable to load any pages, check your computer's network
connection.
If your computer or network is protected by a firewall or proxy, make sure
that Firefox is permitted to access the Web.
А когда ввожу www.testsite2.ua - все работает
Может проблема в конфе nginx?
вот Конфиг nginx
#user html;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=all:32m;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#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;
}
server {
listen 80;
server_name www.testsite2.ua testsite2.ua;
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
location / {
root /roman/testsite2.ua/www/joomla;
index index.html index.htm index.php;
}
location ~ \.php($|\/) {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Решено: редирект на https://
Модераторы: SLEDopit, Модераторы разделов
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Решено: редирект на https://
god_of_vi
Судя по конфигу, запущено лишь два виртуальных сервера на порту 80, и оба без SSL.
1. Для сервера "www.testsite2.ua testsite2.ua;" на 80-ом нужно сделать нечто подобное "rewrite ^ https://$server_name$request_uri? permanent;"
2. Нужно описать SSL-сервер: "server { listen 443; www.testsite2.ua testsite2.ua; ssl on; ... }"
3. nginx не поддерживает апачевские .htaccess
Судя по конфигу, запущено лишь два виртуальных сервера на порту 80, и оба без SSL.
1. Для сервера "www.testsite2.ua testsite2.ua;" на 80-ом нужно сделать нечто подобное "rewrite ^ https://$server_name$request_uri? permanent;"
2. Нужно описать SSL-сервер: "server { listen 443; www.testsite2.ua testsite2.ua; ssl on; ... }"
3. nginx не поддерживает апачевские .htaccess
Спасибо сказали:
-
Bizdelnick
- Модератор
- Сообщения: 21497
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Решено: редирект на https://
И не забыть положить сертификат и приватный ключ.
Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
god_of_vi
- Сообщения: 28
- ОС: Archlinux
Re: Решено: редирект на https://
serzh-z писал(а): ↑31.07.2013 23:48god_of_vi
Судя по конфигу, запущено лишь два виртуальных сервера на порту 80, и оба без SSL.
1. Для сервера "www.testsite2.ua testsite2.ua;" на 80-ом нужно сделать нечто подобное "rewrite ^ https://$server_name$request_uri? permanent;"
2. Нужно описать SSL-сервер: "server { listen 443; www.testsite2.ua testsite2.ua; ssl on; ... }"
3. nginx не поддерживает апачевские .htaccess
А обязательно это все делать, все описывать и находить SSL-сертификат? а можно просто, как-то, что бы страничка была та же, только через https, короче говоря, отображала все содержимое http://www.testsite2.ua, через https://www.testsite2.ua
-
serzh-z
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Решено: редирект на https://
god_of_vi
Можно попробовать добавить "listen 443;" в описание сервера "www.testsite2.ua testsite2.ua;" и добавить директиву rewrite.
Не уверен, что nginx позволяет одному серверу слушать несколько портов. Если нельзя, то можно просто скопипастить сервер и поменять ему listen на 443, а в оригинальном сервере добавить rewrite.
Можно попробовать добавить "listen 443;" в описание сервера "www.testsite2.ua testsite2.ua;" и добавить директиву rewrite.
Не уверен, что nginx позволяет одному серверу слушать несколько портов. Если нельзя, то можно просто скопипастить сервер и поменять ему listen на 443, а в оригинальном сервере добавить rewrite.
-
Bizdelnick
- Модератор
- Сообщения: 21497
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Решено: редирект на https://
А как Вы себе представляете HTTPS без сертификата? И что значит - "находить"? Его сгенерировать надо и подписать.
Документация по настройке nginx: http://nginx.org/ru/docs/http/configuring_https_servers.html.
Как сделать сертификат - см. хотя бы википедия://самозаверенный сертификат, а если хотите, чтобы браузер не матюкался - то https://www.startssl.com Вам в помощь.
Позволяет, позволяет. Только писать надо немножко по-другому:
Код: Выделить всё
listen 80;
listen 443 ssl;Код: Выделить всё
listen 80;
listen 443 default ssl;Пишите правильно:
| в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
god_of_vi
- Сообщения: 28
- ОС: Archlinux
Re: Решено: редирект на https://
Серж и Бездельник большое спасибо, настроил, но так как сертификат самоподписанный, браузер ругается)