আমার অ্যাপাচি 2 সার্ভারে এইচটিটিপিএস সক্ষম করার পরে - আমি প্রতিটি অনুরোধে 404 ত্রুটি পেয়েছি [বন্ধ]


10

ঠিক আছে, সুতরাং এসএসএল / এইচটিটিপিএস এর আগে আমার কোনও অভিজ্ঞতা হয়নি, আমি কেবল কখনও স্ট্যান্ডার্ড এইচটিটিপি নিয়ে কাজ করেছি। সম্প্রতি আমি এমন একটি সাইটে কাজ শুরু করেছি যার এসএসএল প্রয়োজন হবে। অবশ্যই, আমি বাইরে গিয়ে গবেষণা করেছি এবং কীভাবে শুরু করব। আমি এসএসএল শংসাপত্রটি সফলভাবে ইনস্টল করার পর্যায়ে পৌঁছেছি - সবুজ প্যাডলকটি উপস্থিত হয় এবং সার্ভারটি 443 পোর্টে এইচটিটিপিএস অনুরোধের প্রতিক্রিয়া জানায় I আমার কাছে সমস্যাটি হ'ল আমি কী করি তা নয়, এইচটিটিপিএস / ব্যবহার করে যে কোনও পৃষ্ঠায় উপস্থিত হতে পারি না matter এসএসএল, তবে তারা পোর্ট ৮০ / এইচটিটিপিতে সূক্ষ্মভাবে উপস্থিত হয়েছিল (যতক্ষণ না আমি এইচটিটিপিকে এইচটিটিপিএসে পুনঃনির্দেশ না করি)।

সহজভাবে বলতে গেলে আমি এইচটিটিপিএস সাইটটি একেবারে সূক্ষ্মভাবে অ্যাক্সেস করতে পারি, তবে আমার পৃষ্ঠাগুলি প্রেরণ করা হচ্ছে না, বরং প্রতিটি অনুরোধের জন্য একটি 404 প্রেরণ করা হচ্ছে।


/etc/apache2/sites-available/[name].conf

<VirtualHost *:80>
    ServerName [serverName]

    RewriteEngine On

    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
</VirtualHost>

<VirtualHost *:443>
    ServerName [serverName]
    ServerAdmin [email]
    DocumentRoot [docRoot]

    # I know the following SSL cert stuff is correct

    SSLEngine On
    SSLCertificateFile [...]/[domain].crt
    SSLCertificateKeyFile [...]/[certificate].key
    SSLCertificateChainFile [...]/[theotherone].crt

    ErrorLog ${APACHE_LOG_DIR}/[custom]_error.log
        CustomLog ${APACHE_LOG_DIR}/[custom]_access.log combined

        <Directory "[docRoot]">

                Options Indexes FollowSymLinks MultiViews

        AllowOverride All
        Order allow,deny
        allow from all

        </Directory>

</VirtualHost>

আমি নিশ্চিত নই যে আপনি অন্য কিছু দেখতে চাইবেন বা অন্য কোনও বিবরণ রয়েছে কিনা তা যদি নিশ্চিত হয় তবে সেখানে যদি আমাকে জানাতে হয়।

সম্পাদনা করুন:

কনফিগার ফাইলগুলিতে কিছুটা অনুসন্ধানের পরে আমি প্রতিষ্ঠিত করেছি যে কোনও কারণেই, এইচটিটিপিএসের সাথে সংযোগ করার সময়, সার্ভারটি ডিফল্ট কনফিগারেশনে (/ var / www /) নথির মূল ব্যবহার করছে তবে এই ডিফল্ট কনফিগারেশনটি a2ensite সহ সক্ষম নয়। কনফিগারেশনের ফলে এটি যে অবস্থান করছে তা আমি অনুভব করতে পারি না


আপনার Rewriteদিকনির্দেশগুলি দেখে মনে হচ্ছে আপনি খারাপভাবে কনফিগার করা বিপরীত প্রক্সিটির পিছনে অ্যাপাচি চালানোর চেষ্টা করছেন। যদি আপনার অ্যাপাচি কোনও প্রক্সিং ছাড়াই সরাসরি ডোমেনে পরিবেশন করছে, আপনার কেবলমাত্র সমস্ত Rewriteনির্দেশিকা বাদ দেওয়া উচিত এবং সেগুলি একটি একক দিয়ে প্রতিস্থাপন করা উচিত Redirect। এবং প্রতিটি এর জন্য পৃথক লগফিলগুলি কনফিগার করুন VirtualHostযাতে আপনি VirtualHostপ্রতিটি অনুরোধটি ঠিক কোনটি প্রক্রিয়া করতে পারেন তা দেখতে পারেন ।
ক্যাস্পারড

রাইটারীদের ক্ষেত্রে, আমি কেবল তাদের অস্থায়ী পুনঃনির্দেশ পাওয়ার জন্য ব্যবহার করছিলাম (আমি এই পর্যায়ে 100% নিশ্চিত ছিলাম না), আমি এখন শিখেছি যে রিডাইরেক্ট পুরোপুরি সক্ষম (হ্যাঁ, খারাপ যে আমি জানতাম না) )। পৃথক লগ ফাইলগুলি সম্পর্কে, আমি তখন থেকে এটি করেছি। আমি সমস্যাটি কী ছিল তাও খুঁজে বের করেছি এবং এটি প্রতিফলিত করার জন্য আপডেট করব।
মাইকেল লংহর্স্ট

উত্তর:


11

Https এ সমস্ত HTTP অনুরোধগুলি পুনর্নির্দেশ করা কি একেবারে প্রয়োজনীয়? কারণ আপনি এখানে করতে চেষ্টা করছেন বলে মনে হয়।

আমি আপনাকে আপনার কনফিড থেকে নিম্নলিখিত লাইনগুলি সরিয়ে শুরু করার পরামর্শ দিচ্ছি:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]

আমার সন্দেহ হয় সিন্টেক্সটি সেখানে ভুল হতে পারে। তারপরে প্রতিটি http: // এবং https: // প্রোটোকলগুলিতে আবার সংযোগ করার চেষ্টা করুন।


আমি নিশ্চিত যে আমি এইচটিটিপিএসকে এইচটিটিপিএসে পুনঃনির্দেশিত করতে চাই, যেহেতু আমি এই ডোমেনে প্রশাসক প্যানেল তৈরি করছি, প্রায় সমস্ত অনুরোধে সংবেদনশীল তথ্য রয়েছে। আমি জানি যে সিনট্যাক্সটি সঠিক কারণ পুনঃনির্দেশ পুরোপুরি কাজ করে। আমি বুঝতে পেরেছি যে সমস্যাটি হ'ল সার্ভারটি আমার দ্বারা উল্লিখিত ডকুমেন্টরোটের পরিবর্তে / var / www / html এ ফাইলগুলি সন্ধান করছে
মাইকেল লংহর্স্ট

পুনঃনির্দেশ ছাড়া ডকুমেন্টের পাথ কাজ করে? একটি চেষ্টা ইমো মূল্যবান ...
ইভান

আমি অন্য উত্তরটি প্রথমে চেষ্টা করে দিচ্ছি, যদি এটি ব্যর্থ হয় তবে তা আগে দিয়ে দেব
মাইকেল লংহর্স্ট

চেষ্টা করেও দেখলেন, কিন্তু কোনও ফল হয় নি
মাইকেল লংহার্স্ট

ঠিক আছে, সার্ভারের আসল আইপি দিয়ে *: 443 থেকে নক্ষত্রটি প্রতিস্থাপনের চেষ্টা করুন পোর্ট ৮০-তেও যায়। এছাড়াও নথির মূল পাথের বাক্য
ইভান

11

আমি কীভাবে এটি বের করেছিলাম তা ঠিক মনে করতে পারছি না, তবে এমন কোনও জায়গায় আমি হোঁচট খেয়েছি যা প্রস্তাব দেওয়ার পরামর্শ দিয়েছে:

<VirtualHost _default_:443>

পরিবর্তে:

<VirtualHost *:443>

যেটি প্রতিস্থাপন করার পরে, আমার এসএসএল পুরোপুরি কাজ করছে।


10

এরকম কিছু দেখতে আপনার ফাইল সম্পাদনা করার চেষ্টা করুন:

এটি একটি খুব বেসিক কনফারেন্স, যদি এটি প্রয়োজন হয় তবে আপনার পুননির্দেশনা যুক্ত করে।

যদি এটি কাজ না করে তবে আপনার ssl.conf প্রদর্শন করুন

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
         <Directory "[docRoot]">
        AllowOverride All
        </Directory>
        DocumentRoot [docRoot]
        ServerName [serverName]
</VirtualHost>

<VirtualHost *:443>
        SSLEngine on
       SSLCertificateFile [...]/[domain].crt
       SSLCertificateKeyFile [...]/[certificate].key
       SSLCertificateChainFile [...]/[theotherone].crt
         <Directory "[docRoot]">
        AllowOverride All
        </Directory>
        DocumentRoot [docRoot]
        ServerName [serverName]
</VirtualHost>

নাহ, এখনও কাজ করে না, এটি এখনও অস্থায়ী সূচি html দেখায় যা আমি / var / www / html এ রেখেছি। আমি কনফিডের সাথে একটি পেস্টবিন যুক্ত করব
মাইকেল লংহর্স্ট


পরিবর্তনগুলি করার পরে আপনি কি অ্যাপাচি পুনরায় চালু করছেন তা নিশ্চিত করার জন্য?
অ্যান্টনি ফোরনিতো

হ্যাঁ, যে কোনও কিছু এবং আমি যে পরিবর্তন করি তা পুনরায় চালু করছি
মাইকেল লংহার্স্ট

ডকুমেন্টরুটটি "/ var / www / html" তে সেট করা আছে এবং এটি কোনও কিছুই নিয়ে আসে না এমন সন্ধান করতে আমি কল্পনা করতে পারি এবং একটি সিটিআরএল + এফ চালাতে পারি এমন প্রতিটি কনফিগারেশন ফাইলটি আমি খুললাম। সুতরাং আমার জীবনের জন্য আমি বুঝতে পারি না যে কেন আপাচি / var / www / এইচটিএমএল থেকে পড়ছে যদি তা না বলা হয়
মাইকেল লংহর্স্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.