私の問題はタイトルに似ています。
は私のプロジェクトでは、I /ログインおよび/管理ルートにHTTPSを追加しようとしました。両方のルートは、サードパーティのバンドルからインポートされます。FOSUserBundleからのログインとEasyAdminBundleからのログイン。これを達成するために、このスレッドhttps://symfony.com/doc/current/security/force_https.htmlで説明されているように、をsecurity.yml
ファイルに追加しました。
マイaccess_control
セクションでは、ように見えた:symfonyのdevとprodバージョンでHTTPSを無効にするか、HTTPに変更するには?
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN, requires_channel: https }
私はそれがhttps接続を強制し、それがあったかどうかを確認するために、組み込みのサーバーを経由してサイトを開始しました。 symfony組み込みサーバはSSL接続をサポートしていないが、アドレスバーにはhttps://
があったので、明らかにエラーがあった。私は、サーバーへのこのバージョンをアップロードし、私は次の機能に作業を継続したかったので、私はrequires_channel
エントリを削除したが、私は、ブラウザのアドレスバーにphp bin/console server:start 0.0.0.0:80
とタイピングを入力してページを起動するときlocalhost/admin
交響曲はまだHTTPSを強制します。私の次の推測はrequires_channel: https
をrequires_channel: http
に変更することでしたが、それもうまくいきませんでした。
プロダクションサーバでも同じことが起こります。つまり、requires_channel
が削除された場合やHTTPに設定されている場合でもHTTPSが強制されますが、最終的に証明書を生成してapache設定ファイルでSSL接続を開始する必要があるため、私はdevのバージョンで動作することはできません。
私は同様の問題を探しましたが、主にスレッドがsymfonyとHTTPまたはHTTPSに関するものだった場合、人々はHTTPSを強制する方法を尋ねますが、これは既に行いました。私は似たような問題を見つけることができませんので、誰かが間違って何が起こったのか分かりません。もし誰かが私の問題を解決したか、非常によく似たリンクを貼り付けてください。
security.yml
ファイルの全内容:問題はdev内変えないで
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: "%router.request_context.scheme%" }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN, requires_channel: "%router.request_context.scheme%" }
こんにちは、返信ありがとうございます。私は 'php bin/console cache:clear 'でキャッシュをクリアしようとしましたが、手動で' var/cache'フォルダからファイルを削除しようとしましたが、80以外のすべてのポートで動作します。 :// '。 – Safk