অ্যাপাচি ২.৩ বা তারপরে
অ্যাপাচি ২.৩ বা তার পরে আপনি দৃশ্যত এরকম কিছু করতে পারেন (পরীক্ষিত):
<VirtualHost *:80>
ServerName www.example.com
<If "-R '10.10.10.10'">
# The next version of the website...
Alias /favicon.ico /home/ubuntu/website-new/favicon.ico
Alias /static/ /home/ubuntu/static/
WSGIScriptAlias / /home/ubuntu/website-new/main/wsgi.py
</If>
<Else>
# The standard version (e.g. holding page).
Alias /favicon.ico /home/ubuntu/website/favicon.ico
Alias /static/ /home/ubuntu/static/
WSGIScriptAlias / /home/ubuntu/website/main/wsgi.py
</Else>
# and so on...
</VirtualHost>
অ্যাপাচি ২.২ বা তার আগেরটি
আপডেট: এটি কোনও ভাল সমাধান নয়। নিচে দেখ.
আপনাকে এইভাবে একটি হ্যাক করতে হবে। [PT]
"Passthrough" জন্য দাঁড়িয়েছে যা নোট করুন । এটি ছাড়া, প্রকৃত এইচটিটিপি পুনর্নির্দেশ ক্লায়েন্টের কাছে ফিরে পাঠানো হয়, যা সম্ভবত আপনি চান তা নয়। [OR]
জিনিস শো (যার জন্য "বা" ঘোরা) কীভাবে একাধিক ঠিকানাগুলির সাথে মেলানোর জন্য।
Alias /next/favicon.ico /home/ubuntu/website-new/favicon.ico
Alias /next/static/ /home/ubuntu/static/
WSGIScriptAlias /next /home/ubuntu/website-new/main/wsgi.py
Alias /favicon.ico /home/ubuntu/website/favicon.ico
Alias /static/ /home/ubuntu/static/
WSGIScriptAlias / /home/ubuntu/website/main/wsgi.py
# Rewrite for our IP.
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^80\.4\.170\.209$ [OR]
RewriteCond %{REMOTE_ADDR} ^94\.193\.52\.157$
RewriteRule ^/(.*) /next/$1 [PT]
mod_rewrite
এই কমান্ডটি দিয়ে আপনি ডেবিয়ান / উবুন্টুতে যা করতে পারবেন তা সক্ষম করতে হবে:
sudo a2enmod rewrite
নোট করুন যে এই পদ্ধতিটি আপনার পরীক্ষার সাইটে অ্যাক্সেস থেকে অন্য ব্যক্তিকে সম্পূর্ণ নিষিদ্ধ করে না, তাই আপনি সম্ভবত কিছুটা সুরক্ষা যুক্ত করতে চান, বা এর চেয়ে আরও অস্পষ্ট উপসর্গটি চয়ন করতে পারেন next
।
Mod_rewrite পদ্ধতিতে আপডেট করুন
এই পদ্ধতিতে বেশ কয়েকটি সমস্যা রয়েছে। প্রথমত, জাজানো একই পদ্ধতিতে দুটি সাইট নিয়ে কাজ করে না, আপনাকে এই উত্তরের নির্দেশাবলী অনুসরণ করতে হবে ।
দ্বিতীয়ত মোড_উইরাইট POST
অনুরোধগুলির সাথে কাজ করে না ! সমস্ত POST
গুলি নীরবে পরিবর্তিত হয় GET
এবং পোস্ট ডেটা ফেলে দেওয়া হয়। খুবই হতাশাজনক! অতএব আমি আপনাকে ...
iptables সংস্করণ
কেবল দুটি ভিন্ন পোর্টে সার্ভারগুলি চালান। এর মধ্যে দুটিতে পৃথক পৃথক জ্যাঙ্গো সাইট থাকার জন্য ডাব্লুএসজিআই স্টাফ রয়েছে।
<VirtualHost *:80>
ServerName www.example.com
Alias /favicon.ico /home/ubuntu/alpha/favicon.ico
Alias /static/ /home/ubuntu/alpha/static/
WSGIDaemonProcess alpha_wsgi user=www-data group=www-data
WSGIScriptAlias / /home/ubuntu/alpha/alpha/wsgi.py
WSGIProcessGroup alpha_wsgi
ServerAdmin info@example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:1222>
ServerName www.example.com
Alias /favicon.ico /home/ubuntu/main/favicon.ico
Alias /static/ /home/ubuntu/main/static/
WSGIDaemonProcess main_wsgi user=www-data group=www-data
WSGIScriptAlias / /home/ubuntu/main/main/wsgi.py
WSGIProcessGroup main_wsgi
ServerAdmin info@example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
তারপরে আপনি এই iptables
কমান্ডটি আপনার আইপি ঠিকানা থেকে 8022 পোর্টে 1222 পোর্টে অনুরোধগুলি রুট করতে ব্যবহার করতে পারেন :
sudo iptables -A PREROUTING -t nat -p tcp -s your.ip.address --dport 80 -j DNAT --to-destination :1222
নিয়ম সরানোর -A
জন্য পরিবর্তন করুন -D
।
নোট করুন যে দস্তাবেজগুলি আপনাকে অতিরিক্ত Listen
এবং NameVirtualHost
কমান্ড যুক্ত করার পরামর্শ দেয় , তবে আমি আসলে খুঁজে পেয়েছি যে এটি তাদের ব্যতীত কাজ করে এবং সেগুলি যুক্ত করে এটি বিরতি দেয় (কমপক্ষে উবুন্টুতে)।