Nginx Wordpress и SSL

12
K
На сайте с 01.09.2005
Offline
233
1850

Подскажите пожаулйста что не правильно настроено?

Через nginx прикрепил ssl сертификат. В движке вроде все http:// заменил на https:// но при открытии сайта:


Неверное перенаправление на странице
При соединении с domain.com произошла ошибка.
Эта проблема может возникать при отключении или запрещении принятия кук.

Вот nginx- конфиг сайта


server {
listen 80;
listen 443;
ssl on;
ssl_certificate /etc/ssl/domain.crt;
ssl_certificate_key /etc/ssl/domain.key;
server_name domain.com www.domain.com;
proxy_temp_path /var/nginx/temp/domain.com;
fastcgi_param HTTPS on;
# Main location
location / {
limit_req zone=two burst=10;
proxy_pass http://127.0.0.1:8080/;
proxy_redirect http://domain.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Server-IP $server_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 256k;
proxy_connect_timeout 120s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_cache one;
proxy_cache_key $host$scheme$proxy_host$uri$is_args$args;
proxy_cache_valid 200 302 304 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid 403 3s;
proxy_cache_valid 502 1s;
proxy_cache_valid any 1m;

root /usr/home/domain/public_html/;
index index.php index.html;
}
# Static files location
location ~* ^.+.(ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|jpg|jpeg|png|gif)$ {
expires 31536000;
add_header Pragma public;
add_header Cache-Control "max-age=31536000, public";
root /usr/home/domain/public_html/;
#access_log /var/log/nginx/domain.com.access.nginx.log;
error_log /var/log/nginx/domain.com.error.nginx.log;
}
}

Как исправить эту проблему с неверным перенаправлением на странице?

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#1

listen 443 ssl http2;

---------- Добавлено 16.08.2018 в 20:48 ----------

Так же у вас апатч что-ли ещё стоит?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
coolwebsearcher
На сайте с 29.09.2008
Offline
87
#2

для перенаправления можно сделать



server {
listen 80;
server_name domain.com www.domain.com;
location / {
return 301 https://www.iphoneteile.com$request_uri;
}
}

а https в отдельной секции описать в nginx

Услуги (http://www.our-dns.info/) | Цены (http://www.our-dns.info/prices/) | Отзывы (/ru/forum/970789)
K
На сайте с 01.09.2005
Offline
233
#3
LEOnidUKG:
listen 443 ssl http2;

---------- Добавлено 16.08.2018 в 20:48 ----------

Так же у вас апатч что-ли ещё стоит?

Да да еще и апач, вот его конфиг:


<Directory /usr/home/iphoneteile/public_html/>
AllowOverride All
Require all granted
</Directory>

<VirtualHost *:8080>
ServerName domain.com
DocumentRoot /usr/home/domain/public_html/
CustomLog /var/log/domains/domain.com.access.log combined
ErrorLog /var/log/domains/domain.com.error.log
ServerAlias www.domain.com
ServerAdmin l1ke@yandex.com
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html index.htm
</VirtualHost>



---------- Добавлено 16.08.2018 в 22:27 ----------

kostyk:
Да да еще и апач, вот его конфиг:

<Directory /usr/home/iphoneteile/public_html/>
AllowOverride All
Require all granted
</Directory>

<VirtualHost *:8080>
ServerName domain.com
DocumentRoot /usr/home/domain/public_html/
CustomLog /var/log/domains/domain.com.access.log combined
ErrorLog /var/log/domains/domain.com.error.log
ServerAlias www.domain.com
ServerAdmin l1ke@yandex.com
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html index.htm
</VirtualHost>

Добавил после 443

ssl http2;
но не помогло. :-(
LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#4

Ну правильно вы у апатча запрашиваете http страницу по httpS протоколу, он не понимает это.

---------- Добавлено 16.08.2018 в 22:55 ----------

Была статья на хабре:

https://habr.com/post/142363/

вам апатчу тоже надо сказать, что это 443 порт и подключить сертификаты ему.

M
На сайте с 17.09.2016
Offline
124
#5

Каким образом происходит перенаправление ?

LEOnidUKG, не обязательно (да и не нужно) шифровать между nginx и apache

Всё зависит от условий переадресации

Если это проверка https заголовка, то можно подсунуть его через SetEnvIf

Если это кастомный редирект, то вообще не проблема изменить условия проверки

И прокинуть в nginx'е протокол

proxy_set_header X-Forwarded-Proto $scheme;

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#6
LEOnidUKG, не обязательно (да и не нужно) шифровать между nginx и apache

Можете выложить рабочий такой конфиг?

---------- Добавлено 17.08.2018 в 01:25 ----------

Попробуйте так:

server {

listen 80;

listen 443 ssl;

ssl on;

ssl_certificate /etc/ssl/domain.crt;

ssl_certificate_key /etc/ssl/domain.key;

server_name domain.com www.domain.com;

proxy_temp_path /var/nginx/temp/domain.com;

fastcgi_param HTTPS on;

# Main location

location / {

limit_req zone=two burst=10;

proxy_pass http://127.0.0.1:8080/;

proxy_redirect http://domain.com:8080/ /;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Server-IP $server_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Scheme $scheme;

client_max_body_size 10m;

client_body_buffer_size 256k;

proxy_connect_timeout 120s;

proxy_send_timeout 120s;

proxy_read_timeout 120s;

proxy_buffer_size 128k;

proxy_buffers 32 128k;

proxy_busy_buffers_size 128k;

proxy_temp_file_write_size 128k;

proxy_cache one;

proxy_cache_key $host$scheme$proxy_host$uri$is_args$args;

proxy_cache_valid 200 302 304 10m;

proxy_cache_valid 301 1h;

proxy_cache_valid 403 3s;

proxy_cache_valid 502 1s;

proxy_cache_valid any 1m;

root /usr/home/domain/public_html/;

index index.php index.html;

}

# Static files location

location ~* ^.+.(ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|jpg|jpeg|png|gif)$ {

expires 31536000;

add_header Pragma public;

add_header Cache-Control "max-age=31536000, public";

root /usr/home/domain/public_html/;

#access_log /var/log/nginx/domain.com.access.nginx.log;

error_log /var/log/nginx/domain.com.error.nginx.log;

}

}

---------- Добавлено 17.08.2018 в 01:26 ----------

И проверьте, чтобы у вас в апатче в конфигах не было упоминания про 443 порт.

K
На сайте с 01.09.2005
Offline
233
#7
LEOnidUKG:
Можете выложить рабочий такой конфиг?

---------- Добавлено 17.08.2018 в 01:25 ----------

Попробуйте так:


server {
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /etc/ssl/domain.crt;
ssl_certificate_key /etc/ssl/domain.key;
server_name domain.com www.domain.com;
proxy_temp_path /var/nginx/temp/domain.com;
fastcgi_param HTTPS on;
# Main location
location / {
limit_req zone=two burst=10;
proxy_pass http://127.0.0.1:8080/;
proxy_redirect http://domain.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Server-IP $server_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Scheme $scheme;

client_max_body_size 10m;
client_body_buffer_size 256k;
proxy_connect_timeout 120s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_cache one;
proxy_cache_key $host$scheme$proxy_host$uri$is_args$args;
proxy_cache_valid 200 302 304 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid 403 3s;
proxy_cache_valid 502 1s;
proxy_cache_valid any 1m;

root /usr/home/domain/public_html/;
index index.php index.html;
}
# Static files location
location ~* ^.+.(ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|jpg|jpeg|png|gif)$ {
expires 31536000;
add_header Pragma public;
add_header Cache-Control "max-age=31536000, public";
root /usr/home/domain/public_html/;
#access_log /var/log/nginx/domain.com.access.nginx.log;
error_log /var/log/nginx/domain.com.error.nginx.log;
}
}

---------- Добавлено 17.08.2018 в 01:26 ----------

И проверьте, чтобы у вас в апатче в конфигах не было упоминания про 443 порт.

Вставил вот эти две строки

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-Scheme $scheme;

Перезапустил nginx та же проблема осталась.

coolwebsearcher
На сайте с 29.09.2008
Offline
87
#8

на стороне апача должен стоять модуль rpaf, с включенной опцией


RPAF_SetHTTPS On

в nginx нужно добавить


proxy_set_header X-Forwarded-Proto $scheme;

ну и поставить нормальные сертификаты (например от https://letsencrypt.org/)

так как сейчас ответ выглядит следующим образом


curl: (60) SSL certificate problem: unable to get local issuer certificate
K
На сайте с 01.09.2005
Offline
233
#9
coolwebsearcher:
на стороне апача должен стоять модуль rpaf, с включенной опцией


RPAF_SetHTTPS On


в nginx нужно добавить


proxy_set_header X-Forwarded-Proto $scheme;

ну и поставить нормальные сертификаты (например от https://letsencrypt.org/)
так как сейчас ответ выглядит следующим образом


curl: (60) SSL certificate problem: unable to get local issuer certificate

В apache24 вместо вместо mod_rpaf используется remoteip_module и он включен.

В nginx добавлена proxy_set_header X-Forwarded-Proto $scheme;

Сертификаты стоят от Comodo Ca Limited.

LEOnidUKG
На сайте с 25.11.2006
Offline
1722
#10

В апатче точно нет ничего про 443 порт в конфигах? Просто апатч может первее его начать слушать, чем nginx.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий