অ্যাপাচি ভার্চুয়ালহোস্ট 403 নিষিদ্ধ


123

আমি সম্প্রতি অ্যাপাচি দিয়ে একটি পরীক্ষা সার্ভার সেট আপ করার চেষ্টা করেছি। সাইটটি অবশ্যই ডোমেনের অধীনে চলতে হবে www.mytest.com। আমি সবসময় একটি 403 Forbiddenত্রুটি পেতে । আমি উবুন্টু 10.10 সার্ভার সংস্করণে আছি। ডকের মূলটি দিরের অধীনে /var/www। নিম্নলিখিত আমার সেটিংস হয়:

/ Var / www এর বিষয়বস্তু

ls -l /var/www/

total 12
drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com
-rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html

সার্ভারে হোস্ট ফাইলের সামগ্রী (আইপি 192.168.2.5 সহ)

cat /etc/hosts

127.0.0.1 localhost 
127.0.1.1 americano
192.168.2.5 americano.mytest.com www.mytest.com

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

সাইট কনফিগার

<VirtualHost *>
ServerAdmin admin@mytest.com
ServerName www.mytest.com
ServerAlias mytest.com

DocumentRoot "/var/www/mytest.com"

ErrorLog /var/log/apache2/mytest-error_log
CustomLog /var/log/apache2/mytest-access_log combined

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None

Order allow,deny
Allow from all
</Directory>
</VirtualHost>

.htaccessআমার ডক রুটে আমার কোনও ফাইল নেই । অনুমতিগুলি সঠিকভাবে সেট করা হয়েছে (www-ডেটা দ্বারা পাঠযোগ্য)।

আমি যদি আমার ডেস্কটপ থেকে আইপি ঠিকানা টাইপ করি তবে সাইটটি সঠিকভাবে প্রদর্শিত হবে। আমি আমার ডেস্কটপে হোস্ট ফাইলটি www.mytest.comসার্ভারের আইপিতে নির্দেশ করেছিলাম । আমি এটি ব্যবহার করার সময়, আমি পেতে 403। যেহেতু এই সাইটের অনেকগুলি ক্রিয়াকলাপ সংবেদনশীল, তাই আমাকে ডোমেন নাম দিয়ে সাইটটি অ্যাক্সেস করতে সক্ষম হতে হবে।

আর একটি মজাদার বিষয় হ'ল, সমস্ত লগ ফাইলগুলি সঠিকভাবে তৈরি করা হলেও, তাদের এই ত্রুটি সম্পর্কিত কোনও তথ্য নেই।

আমি আটকে গেছি. কেউ সাহায্য করতে পারেন?


আপনি কি sudo sh -c ". /etc/apache2/envvars; apache2 -S"এর লিখিত সামগ্রী যুক্ত করতে পারেন: (ভার্চুয়ালহোস্টগুলির তালিকা) এবং:sudo sh -c ". /etc/apache2/envvars; grep -R Listen /etc/apache2/*|grep -v \"#\"; grep -R NameVirtual /etc/apache2/*|grep -v \"#\""
রেজিলিও

প্রথম কমান্ড নিম্নলিখিতটি VirtualHost configuration: 192.168.2.5:* www.mytest.com (/etc/apache2/sites-enabled/mytest.com:1) Syntax OK প্রত্যাবর্তন করে: দ্বিতীয়টি ফিরে আসে: /etc/apache2/ports.conf:Listen 80 /etc/apache2/ports.conf: Listen 443 /etc/apache2/ports.conf: Listen 443 /etc/apache2/conf.d/virtual.conf:NameVirtualHost *
ইউচেন ওয়াং

1
চেষ্টা serverfault.com
regilero

উত্তর:


296

অ্যাপাচি ২.৪.৩ (বা সম্ভবত কিছুটা আগে) একটি নতুন সুরক্ষা বৈশিষ্ট্য যুক্ত করেছে যা প্রায়শই এই ত্রুটির ফলস্বরূপ। আপনি "সার্ভার কনফিগারেশন দ্বারা ক্লায়েন্ট অস্বীকৃত" ফর্মটির একটি লগ বার্তা দেখতে পাবেন। বৈশিষ্ট্যটির ডিরেক্টরিতে অ্যাক্সেসের জন্য ব্যবহারকারীর পরিচয় প্রয়োজন। এটি ডিএফএলটি দ্বারা httpd.conf এ চালু করা হয়েছে যা অ্যাপাচি সহ জাহাজগুলি রয়েছে। আপনি নির্দেশাবলীর সাহায্যে বৈশিষ্ট্যটি সক্রিয় করতে পারেন

Require all denied

এটি মূলত সমস্ত ব্যবহারকারীর অ্যাক্সেস অস্বীকার করতে বলেছে। এই সমস্যাটি সমাধান করতে, হয় অস্বীকৃত নির্দেশকে সরিয়ে দিন (বা আরও ভাল) আপনি যে ডিরেক্টরিগুলিতে অ্যাক্সেস দিতে চান তাতে নিম্নলিখিত নির্দেশাবলী যুক্ত করুন:

Require all granted

হিসাবে হিসাবে

<Directory "your directory here">
   Order allow,deny
   Allow from all
   # New directive needed in Apache 2.4.3: 
   Require all granted
</Directory>

3
আমি লক্ষ করতে চাই যে ভার্চুয়াল হোস্টগুলি ব্যবহার করে যদি আপনার সমস্যা হয় তবে অ্যাপাচি / কনফিড / অতিরিক্ত / httpd-vhosts.conf ফাইলের অভ্যন্তরে প্রতিটি ভার্চুয়াল হোস্ট সেটিংসে আপনাকে "প্রয়োজনীয় সমস্ত প্রয়োজন" যুক্ত করতে হবে।
সাউন্ডফএক্স 4

1
আমি এই নির্দেশকে এতে যুক্ত করেছি /etc/apache2/apache2.confএবং এটি সাহায্য করেছে, আপনাকে ধন্যবাদ!
দিমিটমেডভ

@ সাউন্ডফএক্স 4, apache/conf/extraভিতরে কোনও ফোল্ডার নেই/etc/apache2
কালো

আমি /var/dev/website.com যোগ করেছি এবং 403 ত্রুটি পেয়েছি। প্রস্তাবিত নির্দেশকে /etc/apache2/apache2.conf (উবুন্টু) এ যুক্ত করার কৌশলটি কার্যকর করে। ধন্যবাদ বন্ধুরা!
লাভফাইনআর্ট

ধন্যবাদ জনাব. এই দিনগুলিতে কাজ করা আপাচি আরও শক্ত এবং কঠিন ...
ওডেললি

15

অ্যাপাচি উবুন্টু ২.৪. For-এর জন্য, আমি অবশেষে খুঁজে পেলাম যে আপনাকে আপনার ভার্চুয়াল হোস্টটি সাদা করতে হবে apache2.conf- এ

# access here, or in any related virtual host.
<Directory /home/gav/public_html/>
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

8

এটি কোনও অনুমতি সংক্রান্ত সমস্যা হতে পারে।

ভার্চুয়াল ডকুমেন্টের রুটের প্রতিটি একক পন্থা অবশ্যই ওয়েব সার্ভারের httpd ব্যবহারকারীর দ্বারা পঠনযোগ্য, রচনামূলক এবং কার্যকর করার যোগ্য

এই পৃষ্ঠা অনুযায়ী অ্যাপাচি 403 ত্রুটি সম্পর্কে।

যেহেতু আপনি ব্যবহার করছেন Allow from all, আপনার অর্ডারটির কোনও গুরুত্ব নেই, তবে আপনি ডিফল্ট আচরণটিকে "অনুমতি" হিসাবেDeny,Allow সেট করতে এটিতে স্যুইচ করার চেষ্টা করতে পারেন ।


4
লিখনযোগ্য? সত্যি? আমি নিশ্চিত নই
php-dev

5

ভার্চুয়ালহোস্ট থেকে ডিরেক্টরি ধারাটি সরিয়ে নিয়ে ভার্চুয়ালহোস্ট ঘোষণার আগে এটি রেখে দিন।

আমাকেও অনেকক্ষণ বাদাম চালিয়েছে। কেন জানি না। এটি একটি ডেবিয়ান জিনিস।


ওহ, এতো অদ্ভুত।
কাকো-নাওয়াও

1

উবুন্টু 14.04-তে ভার্চুয়াল হোস্টের সাথে আমারও একই সমস্যা ছিল

আমার জন্য নিম্নলিখিত সমাধান কাজ করেছে:

http://ubuntuforums.org/showthread.php?t=2185282

এটিতে কেবল একটি <Directory >ট্যাগ যুক্ত করা হচ্ছে/etc/apache2/apache2.conf


0

আপনি যদি সবকিছু ঠিকঠাক করেন তবে কেবল অনুমতি বাড়ির ডিরেক্টরিটি দিন:

sudo chmod o+x $HOME

তারপর

sudo systemctl restart apache2

0

সমস্যাটি হ'ল ফাইল অ্যাক্সেসের অনুমতিটি ভুল ছিল।

আমি ডিরেক্টরিটির অনুমতিগুলি পরিবর্তন করেছি এবং এটি কার্যকর হয়েছে।


0

আর্ক লিনাক্সেও আমার এই সমস্যাটি ছিল ... এটিতে আমার কিছুটা সময় ব্যয় হয় তবে আমি এখন খুশি যে আমি আমার ভুলটি পেয়েছি:

আমার .htmlঅ্যাকাউন্টে থাকা ফাইলগুলির সাথে আমার ডিরেক্টরি ।
আমি সবকিছু সেট করেছিলাম r+xকিন্তু তবুও 403ত্রুটিটি পেয়েছি ।
আমি চেয়ে সম্পূর্ণরূপে ফিরে গিয়েছিলাম এবং আমার সেট করার চেষ্টা করেছিলেন বাড়িতে ডিরেক্টরি থেকে চালানো যা আমার সমস্যার সমাধান।


-1

আমি এই বোকা সমস্যাটিতে বেশ কয়েক ঘন্টা ব্যয় করেছি

প্রথমত, টার্মিনালে এটি ব্যবহারের অনুমতিগুলি পরিবর্তন করুন

find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +

আমি জানি না 66464 এবং 7575৫ এর মধ্যে পার্থক্য কি আমি উভয়ই 757575 এইভাবে করেছি এইচটিডোকদের জন্য আমার জন্য উদাহরণের জন্য ডিরেক্টরি পথের দরকার ছিল এটি ছিল

/usr/local/apache2/htdocs 

find htdocs -type f -exec chmod 775 {} + -o -type d -exec chmod 775 {} +

এটি অন্যান্য বোবা জিনিসও

নিশ্চিত করুন যে আপনার চিত্র src লিঙ্কটি আপনার ডোমেনের নাম

src="http://www.fakedomain.com/images/photo.png"

অবশ্যই আছে

EnableSendfile off in httpd.conf file
EnableMMAP off in httpd.conf file

আপনি টার্মিনালে পিকো ব্যবহার করছেন তাদের সম্পাদনা করুন

আমি চিত্রগুলির জন্য বিশেষত একটি ডিরেক্টরিও তৈরি করেছি যাতে আপনি ব্রাউজারের ঠিকানা দণ্ড ডোমেইননাম / চিত্রগুলি টাইপ করলে আপনি এমন ফটোগুলির একটি তালিকা পাবেন যা ডাউনলোড করা যেতে পারে এবং সঠিকভাবে কাজ করা চিত্র ফাইলগুলি ইঙ্গিত করতে সাফল্যের সাথে ডাউনলোড করা দরকার photos

<Directory /usr/local/apache2/htdocs/images>
AddType images/png .png
</Directory>

এবং সেগুলিই আমি চেষ্টা করেছি সমাধানগুলি, এখন আমার কার্যকরী চিত্রগুলি রয়েছে ... হ্যাঁ !!!

পরবর্তী সমস্যা (গুলি)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.