Hy,
मैं उसी चीज की तलाश में था और मैंने आखिरकार अपाचे 2 का उपयोग करके एक समाधान इकट्ठा किया। मैंने npm वेबडाव-सर्वर का उपयोग करके नोड समाधान की कोशिश की और पाया कि सभी ने अपाचे मॉड्यूल का उपयोग करते हुए अच्छी तरह से काम नहीं किया। फिर मैंने jDDAV के आधार पर एक npm dav-server की कोशिश की जो बेहतर कर सकता है और एक समाधान हो सकता है, लेकिन जैसा कि मुझे lousy 3G कनेक्शन से निपटना था, मैंने Apache को प्राथमिकता दी और कई उदाहरण स्क्रिप्ट के बारे में पता चला।
इसलिए यहां मैं अपना अनुभव साझा करता हूं।
http://helpcenter.epages.com/Doc/doc/apache2/README.multiple-instances
मैं वेबदाव उपयोगकर्ता प्रति एक उदाहरण चलाता हूं ... बहुत स्केलेबल नहीं है, लेकिन एक छोटी टीम में काम करने के लिए यह काफी अच्छा है।
MyUser को अपने उपयोगकर्ता के साथ बदलें।
उबुन्टु 14.04 पर
sh /usr/share/doc/apache2/examples/setup-instance myUser
इसलिए मैं एक अपाचे प्रक्रिया चलाता हूं क्योंकि उपयोगकर्ता myUser / etc / apache2-myUser / envars में परिभाषित किया गया है
export APACHE_RUN_USER=myUser
export APACHE_RUN_GROUP=myUser
Ports.conf संपादित करें
# If you proxy with nginx as I did better to limit to local interface
listen localhost:8080
# listen 8080
मैं ubuntu 14.04 पर PAM को प्राप्त नहीं कर सका, इसलिए मुझे मूल ntx के साथ https में इसे लपेटने के लिए मूल अधिकार के साथ छल करने की आवश्यकता है
htpasswd -c /etc/apache2/htpasswd myUser
फिर /etc/apache2-myUser/sites-available/000-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>
तब nginx प्रॉक्सी में हेडर के साथ एक ट्रिक होती है डेस्टिनेशन पासिंग आइकन्स फोल्डर वेबडाव को ब्राउजर्स पर अच्छी तरह से डाउनग्रेड करता है
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;
}
Nginx को प्रॉक्सी के रूप में उपयोग करने की कोई बाध्यता नहीं है, अपाचे बहुत अच्छी तरह से https कर सकता है, लेकिन जैसा कि मैंने प्रॉक्सी गंतव्य मुद्दे में टकराया था मुझे लगा कि यह उल्लेख के लायक था।