Конфигурация .htaccess для Nginx

Я пытаюсь изменить эти правила перезаписи Apache на Nginx, но автоматический конвертер не работает. И я не очень хорош в них. Кто-нибудь может помочь?

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP:X-HTTPS} !1

RewriteCond %{REQUESTURI} !^/exchange1СOpencart.php$

RewriteCond %{REQUESTURI} !^/TEMP$

RewriteRule ^(.)$ https://%{HTTPHOST}/$1 [R=301,L]

RewriteCond %{HTTP:X-HTTPS} 1 [NC]

RewriteCond %{REQUESTURI} ^/exchange1СOpencart.php$

RewriteCond %{REQUEST_URI} ^/TEMP$

RewriteRule ^(.)$ http://%{HTTP_HOST}/$1 [R=301,L]

второй вариант

RewriteEngine On

RewriteBase /

RewriteCond %{SERVERPORT} 80

RewriteCond %{REQUESTURI} !^/exchange1СOpencart.php$ [NC]

RewriteCond %{REQUESTURI} !^/TEMP$ [NC]

RewriteRule ^(.*)$ https://%{HTTPHOST}/$1 [R=301,L,QSA]

RewriteCond %{SERVERPORT} 443

RewriteRule ^(/exchange1СOpencart.php)$ http://%{HTTPHOST}/$1 [R=301,L,QSA]

RewriteRule ^(/TEMP)$ http://%{HTTP_HOST}/$1 [R=301,L,QSA]

Это сложная конфигурация для чтения - особенно если вы новичок в Nginx, поэтому я понимаю, почему вы не можете это понять.

Вместо того, чтобы пытаться взломать http против https, возможно, нам стоит просто взглянуть на файл exchange_1С_Opencart.php и понять, почему он не работает с https (потому что он должен работать без проблем, поскольку вы уже перенаправляете http на https) .
Можете ли вы связаться с разработчиком, чтобы исправить это?

В противном случае вам больше не нужно использовать мастер CentMinMod, поскольку он может перезаписать некоторые изменения, которые вы собираетесь внести.
Определить конфигурацию немного сложно, так как включает очень много.
Это может сработать, но может «взорваться», поэтому сделайте копию domain.com.ssl.conf перед заменой этим.
Не забудьте заменить весь домен domain.com на правильный домен.

server {
  server_name domain.com www.domain.com;
  root /home/nginx/domains/domain.com/public;

  access_log /home/nginx/domains/domain.com/log/access.log combined buffer=256k flush=60m;
  error_log /home/nginx/domains/domain.com/log/error.log;

  location = /exchange_1С_Opencart.php {
    include /usr/local/nginx/conf/php.conf;
    break;
  }
  location = /TEMP {
    include /usr/local/nginx/conf/staticfiles.conf;
    break;
  }

  location / {
    return 302 https://$server_name/$request_uri;
  }
}

server {
  listen 443 ssl http2;
  server_name domain.com www.domain.com;

  root /home/nginx/domains/domain.com/public;

  access_log /home/nginx/domains/domain.com/log/access.log combined buffer=256k flush=60m;
  error_log /home/nginx/domains/domain.com/log/error.log;

  ssl_dhparam /usr/local/nginx/conf/ssl/domain.com/dhparam.pem;
  ssl_certificate      /usr/local/nginx/conf/ssl/domain.com/domain.com-acme.cer;
  ssl_certificate_key  /usr/local/nginx/conf/ssl/domain.com/domain.com-acme.key;
  include /usr/local/nginx/conf/ssl_include.conf;
  http2_max_field_size 16k;
  http2_max_header_size 32k;
  ssl_ciphers     EECDH+CHACHA20-draft:EECDH+CHACHA20:EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+ECDSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+SHA384:EECDH+AES128:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA;
  ssl_prefer_server_ciphers   on;
  ssl_buffer_size 1369;
  ssl_session_tickets on;
  resolver 8.8.8.8 8.8.4.4 valid=10m;
  resolver_timeout 10s;
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_trusted_certificate /usr/local/nginx/conf/ssl/domain.com/domain.com-acme.cer;

  location = /exchange_1С_Opencart.php {
    return 302 http://$server_name/$request_uri;
  }
  location = /TEMP {
    return 302 http://$server_name/$request_uri;
  }

  location ~* \.(ttf|ttc|otf|eot|woff|woff2|font.css|css)$ {
    add_header Access-Control-Allow-Origin *;
  }

  include /usr/local/nginx/conf/staticfiles.conf;
  include /usr/local/nginx/conf/php.conf;
  include /usr/local/nginx/conf/drop.conf;
  include /usr/local/nginx/conf/vts_server.conf;
}

Если вы изменили конфигурацию, вам нужно протестировать конфигурацию и перезапустить Nginx:
sudo nginx -s configtest
sudo nginx -s restart