Firefox: незащищенные вызовы ajax на защищенной странице - PullRequest
0 голосов
/ 02 февраля 2019

Я работаю над туристическим сайтом.На сайте есть страница, где я делаю Ajax звонки на другую страницу.Приложение создано в фреймворке vuejs.Когда я звоню, Firefox говорит, что я звоню AJAX по незащищенному соединению.Затем он переадресовывает всю страницу вместо вызова AJAX.Ни одна из моих данных POST не сохраняется в перенаправлении.Весь процесс происходит на веб-сайте, защищенном сквозным SSL-протоколом.

Даже JS включен в URL-адрес HTTPS, и нет необходимости использовать сценарии с несколькими источниками.Firefox также подтверждает, что ни один элемент страницы не является незащищенным.Эта проблема связана только с модулем бронирования автобусов на веб-сайте, а не с другими модулями, такими как бронирование авиабилетов или бронирование отелей, в которых используется точно такой же сценарий.Мне интересно, что может вызвать эту проблему.

Сообщение об ошибке:

Соединение, используемое для доступа к этому ресурсу, не было безопасным.

Снимки экрана:

The entire flow of call

call made to https from an https page

Post data not preserved on redirect

Подробности развертывания:

  • Серверная часть: Codeigniter 2.1.6 (PHP)
  • Веб-сервер: Apache 2
  • Сервер: Amazon EC2

Файл конфигурации сайта для Apache:

<VirtualHost *:80>

ServerName mysite.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/mysite/


ErrorLog ${APACHE_LOG_DIR}/stg_error.log
CustomLog ${APACHE_LOG_DIR}/stg_access.log combined

<Directory “/var/www/html/mysite”>
  AllowOverride All
</Directory>
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =mysite.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]
</VirtualHost>

<VirtualHost _default_:443>
    ServerName mysite.com
    ServerAdmin webmaster@localhost


    DocumentRoot /var/www/html/mysite/


    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
            SSLOptions +StdEnvVars
    </Directory>
    <Directory “/var/www/html/mysite">
      AllowOverride All
    </Directory>



    BrowserMatch    "MSIE [2-6]"nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

    BrowserMatch "MSIE [17-9]"ssl-unclean-shutdown

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/mysite.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/mysite.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/mysite.com/chain.pem
</VirtualHost>

.htaccess

            RewriteEngine On
            RewriteBase /
            RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
            RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

1 Ответ

0 голосов
/ 20 февраля 2019

Как оказалось, моя проблема была с моим JavaScript.Хотя мое приложение изначально создавалось в Vuejs, оно было на странице с другими скриптами.Была проблема с каким-то другим скриптом, который, в свою очередь, нарушал функциональность Vuejs.В моем случае ошибки jQuery мешали правильному выполнению моего скрипта.Как только я разрешил исходную ошибку jQuery, перенаправление прекратилось и ajax работал нормально.

В заключение рекомендуется проверить, не прекращают ли выполнение другие сценарии выполнение, даже если ваш код может быть в другой среде.

...