hy,
আমি একই জিনিসটি খুঁজছিলাম এবং অবশেষে আমি অ্যাপাচি 2 ব্যবহার করে একটি সমাধান সংগ্রহ করেছি। আমি এনপিএম ওয়েবডাভ-সার্ভার ব্যবহার করে নোড সলিউশনটি চেষ্টা করেছিলাম এবং এপাচি মডিউলটি ব্যবহার করে সবাই এত সুন্দরভাবে কাজ করেননি। তারপরে আমি জেএসডিএভের উপর ভিত্তি করে একটি এনএমপি ডেভ-সার্ভার চেষ্টা করেছি যা আরও ভাল করতে পারে এবং সমাধান হতে পারে, তবে আমি লস 3 জি সংযোগের সাথে কাজ করতে গিয়ে আমি অ্যাপাচি পছন্দ করেছি এবং একাধিক উদাহরণ স্ক্রিপ্টগুলি খুঁজে পেয়েছি।
তাই এখানে আমি আমার অভিজ্ঞতা ভাগ করে নিই।
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
আমি ওয়েবড্যাভ ব্যবহারকারী প্রতি একটি উদাহরণ চালাচ্ছি ... খুব স্কেলযোগ্য নয়, তবে একটি ছোট দলে কাজ করার পক্ষে এটি যথেষ্ট ভাল।
আপনার ব্যবহারকারীর সাথে myUser প্রতিস্থাপন করুন।
উবুন্টু 14.04 এ
sh /usr/share/doc/apache2/examples/setup-instance myUser
সুতরাং আমি / etc / apache2-myUser / envars এ সংজ্ঞায়িত ব্যবহারকারী myUser হিসাবে একটি অ্যাপাচি প্রক্রিয়া চালাচ্ছি
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
পোর্টসকনফ সম্পাদনা করুন
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
আমি উবুন্টু 14.04 এ পিএএম আথ পেতে পারি না তাই কাজ করতে বেসিক লেখাগুলির সাথে কৌশল করা দরকার কারণ আমি এটির পরে https এ এনজিনেক্স দিয়ে জড়িয়ে রাখি
htpasswd -c /etc/apache2/htpasswd myUser
তারপরে /etc/apache2-myUser/sites- উপলভ্য / 1000-default.conf
<VirtualHost *:8080>
DocumentRoot /var/www/html
Alias /${APACHE_RUN_USER} /home/${APACHE_RUN_USER}
<Directory /home/${APACHE_RUN_USER}>
Require all granted
Options +Indexes
</Directory>
<Location /${APACHE_RUN_USER}>
DAV On
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/htpasswd
Require valid-user
</Location>
DavLockDB /home/${APACHE_RUN_USER}/.DavLock
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
তারপরে এনগিনেক্স প্রক্সির শিরোনামের সাথে একটি কৌশল রয়েছে গন্তব্য পাস করার আইকন ফোল্ডারটি ওয়েবড্যাভকে ব্রাউজারগুলিতে সুন্দরভাবে ডাউনগ্রেড করতে দেয়
server {
listen 443 ssl http2;
server_name exemple.com;
location ~ ^/(myUser|icons)/ {
proxy_pass http://dav-myUser;
# auth_basic "Restricted Content";
# auth_basic_user_file /etc/nginx/htpasswd;
# proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
proxy_pass_request_headers on;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
port_in_redirect off;
# to avoid 502 Bad Gateway:
# http://vanderwijk.info/Members/ivo/articles/ComplexSVNSetupFix
set $destination $http_destination;
if ($destination ~* ^https(.+)$) {
set $destination http$1;
}
proxy_set_header Destination $destination;
proxy_read_timeout 300;
proxy_connect_timeout 5;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
# Remove the Connection header if the client sends it,
# it could be "close" to close a keepalive connection
proxy_set_header Connection "";
}
ssl on;
ssl_certificate /etc/letsencrypt/live/exemple.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exemple.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
}
প্রক্সি হিসাবে এনজিনেক্স ব্যবহার করার কোনও বাধ্যবাধকতা নেই, অ্যাপাচি https খুব ভালভাবে করতে পারে, তবে আমি প্রক্সি গন্তব্য ইস্যুতে ঝাঁপিয়ে পড়েছি বলে আমি অনুভব করেছি যে এটি উল্লেখ করার মতো।