แก้ไข
Nextcloud สร้างการนำ Webdav ของตัวเองมาใช้ในชื่อ Sabredav
อาจเป็นโมดูล nginx ต่อไปนี้ที่รบกวนหรือไม่ --ด้วย-http_dav_module --add-module=/var/tmp/nginx-dav-ext-module
มีคนรู้ว่าฉันควรรวบรวมพวกเขาแบบไดนามิกอย่างไร ดังนั้นฉันจึงสามารถโหลด/ยกเลิกการโหลดบนรันไทม์ต่อการกำหนดค่าโฮสต์เสมือนได้หรือไม่
ขอบคุณ :)
แก้ไข สิ้นสุด
ฉันกำลังวิ่ง เซิร์ฟเวอร์อูบุนตู 20.04
บนเซิร์ฟเวอร์ส่วนบุคคลที่ฉันปรับใช้การติดตั้งด้วยตนเองของ เน็กซ์คลาวด์
ที่ขึ้นและทำงานอย่างถูกต้องยกเว้น เว็บดาฟ
.
สิ่งทั้งหมดกำลังทำงานภายใต้ nginx 1.19.3
, php-8.0
และ เอฟพีเอ็ม
.
กำลังพยายามเมานต์ไดเร็กทอรีส่วนตัวของ nextcloud ผ่าน davfs:
# เมานต์ -t davfs https://drive.example.com/remote.php/dav/files/myuser/ /mnt
โปรดป้อนชื่อผู้ใช้เพื่อยืนยันตัวตนกับเซิร์ฟเวอร์
https://drive.example.com/remote.php/dav/files/myuser/ หรือกด Enter สำหรับไม่มี
ชื่อผู้ใช้: myuser
โปรดป้อนรหัสผ่านเพื่อตรวจสอบผู้ใช้ myuser กับเซิร์ฟเวอร์
https://drive.example.com/remote.php/dav/files/myuser/ หรือกด Enter สำหรับไม่มี
รหัสผ่าน:
/sbin/mount.davfs: การติดตั้งล้มเหลว
ไม่สามารถรับรองความถูกต้องกับเซิร์ฟเวอร์: ปฏิเสธการท้าทายพื้นฐาน
บันทึก Nextcloud ที่เกี่ยวข้องกับก่อนหน้า ภูเขา
สั่งการ:
# cat /home/nginx/Tools/nextcloud_data/nextcloud.log
{"reqId":"gf8ZgEQVDV7AoHp667YG","level":2,"time":"2022-04-05T17:50:58+00:00","remoteAddr":"x.y.z.w","user":"-- ","app":"core","method":"OPTIONS","url":"/remote.php/dav/files/myuser/","message":"การเข้าสู่ระบบล้มเหลว: 'myuser' (IP ระยะไกล : 'x.y.z.w')","userAgent":"davfs2/1.5.5 นีออน/0.30.2","version":"23.0.3.2"}
บันทึก Nginx ที่เกี่ยวข้องกับก่อนหน้านี้ ภูเขา
สั่งการ:
# cat /var/log/nginx/nextcloud.log
x.y.z.w drive.example.com - [05/Apr/2022:13:53:31 -0400] "OPTIONS /remote.php/dav/files/myuser/ HTTP/1.1" 401 569 "-" "davfs2/1.5.5 นีออน/0.30.2" "-" "-"
x.y.z.w drive.example.com myuser [05/Apr/2022:13:53:57 -0400] "OPTIONS /remote.php/dav/files/myuser/ HTTP/1.1" 401 427 "-" "davfs2/1.5.5 นีออน/0.30.2" "-" "CRYPTED_PASSWORD พื้นฐาน"
ข้อมูล Ubuntu ที่ไม่เกี่ยวข้อง:
# lsb_release -a
ไม่มีโมดูล LSB
รหัสผู้จัดจำหน่าย: Ubuntu
คำอธิบาย: Ubuntu 20.04.4 LTS
เผยแพร่: 20.04
ชื่อรหัส: โฟกัส
# uname -a
Linux host.example.com 5.4.0-107-generic #121-Ubuntu SMP พฤ. 24 มี.ค. 16:04:27 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
ดาวน์โหลดและรวบรวม Nginx จากแบบฟอร์มต้นฉบับ nginx repo อย่างเป็นทางการและผ่าน apt:
# แหล่ง apt nginx
# ซีดี nginx-0.8.54
# แก้ไขเดเบียน/กฎ
# dpkg-buildpackage -b nginx
งินซ์
เวอร์ชัน คุณลักษณะ และพารามิเตอร์การรวบรวม:
# nginx -vV
รุ่น nginx: nginx/1.19.3
สร้างโดย gcc 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
สร้างด้วย OpenSSL 1.1.1g 21 เม.ย. 2020
เปิดใช้งานการสนับสนุน TLS SNI
กำหนดค่าอาร์กิวเมนต์: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx. conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/ nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/ var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module - -กับ-http_flv_module --กับ-http_gunzip_module --กับ-http_gzip_static_module --กับ-http_mp4_module --กับ-http_random_index_module --กับ-http_realip_module --กับ-http_secure_link_module --กับ-http_slice_module --กับ-http_ssl_module --กับ-http_stub_status_module - -กับ-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug -prefix-map=/var/tmp/nginx-1.19.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-B symbolic-functions -Wl,-z,relro -Wl, -z, ตอนนี้ -Wl, - ตามต้องการ -pie' --add-dynamic-module=/var/tmp/ngx_http_geoip2_module --with-http_geoip_module --with-http_dav_module --add-module=/var/tmp/ nginx-dav-ext-module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module --without-http_limit_conn_module --add-module=/var/tmp/incubator-pagespeed-ngx-1.13.35.2-stable/ --add-module=/home/nginx/Tools/openproject/.rbenv/versions/2.6.1//lib/ruby/gems/2.6.0//gems/passenger-6.0.6/src/nginx_module/
พี.เอช.พี
ข้อมูล:
# php8.0 --version
PHP 8.0.15 (cli) (สร้าง: 29 ม.ค. 2565 07:24:52 น.) ( NTS )
ลิขสิทธิ์ (c) กลุ่ม PHP
Zend Engine v4.0.15, ลิขสิทธิ์ (c) Zend Technologies
ด้วย Zend OPcache v8.0.15 ลิขสิทธิ์ (c) โดย Zend Technologies
#php8.0 -ม
[โมดูล PHP]
แอป
พ.ศ
bz2
ปฏิทิน
แกน
คแบบ
ขด
วันที่
โดม
EXIF
เอฟเอฟไอ
ข้อมูลไฟล์
กรอง
เอฟทีพี
ก
รับข้อความ
จีเอ็มพี
กัญชา
ไอคอน
อิกไบนารี่
จินตนาการ
ระหว่างประเทศ
เจสัน
libxml
mbstring
เมมแคช
มองโกบ
มายเอสคิวลี
มายเอสคิวแอล
opensl
พีซีทีแอล
พีซีอาร์
สพป
pdo_mysql
pdo_sqlite
ฟาร์
โพสซิกซ์
สะกด
อ่านไลน์
เรดดิส
การสะท้อน
การประชุม
กุ้ง
SimpleXML
สบู่
ซ็อกเก็ต
โซเดียม
ส.ป.ล
sqlite3
มาตรฐาน
sysvmsg
ระบบ
ระบบ
โทเค็นไนเซอร์
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
ซิป
ซลิบ
[โมดูล Zend]
Zend OPcache
เน็กซ์คลาวด์
ข้อมูล:
# sudo -u nginx php8.0 /home/nginx/Tools/nextcloud/occ สถานะ
- ติดตั้ง: จริง
- รุ่น: 23.0.3.2
- เวอร์ชันสตริง: 23.0.3
- รุ่น:
- การบำรุงรักษา: เท็จ
- needDbUpgrade: เท็จ
- ชื่อผลิตภัณฑ์: Nextcloud
- ExtendedSupport: เท็จ
ไฟล์โฮสต์เสมือน Nginx:
# cat /etc/nginx/sites-enabled/nextcloud.conf
cat /etc/nginx/sites-enabled/nextcloud.conf
ตัวจัดการ php ต้นน้ำ {
เซิร์ฟเวอร์ยูนิกซ์:/var/run/php/php8.0-fpm.sock;
}
# ตั้งค่าตัวเลือกการควบคุมแคช 'ไม่เปลี่ยนรูป' เฉพาะสำหรับเนื้อหาที่มีอาร์กิวเมนต์ `v` ที่ทำลายแคช
แผนที่ $arg_v $asset_immutable {
"""";
เริ่มต้น "ไม่เปลี่ยนรูป";
}
เซิร์ฟเวอร์ {
ฟัง 80;
ฟัง [::]:80;
server_name drive.foobar.es drive.foobar.com cloud.foobar.es cloud.foobar.com cloud.example.es cloud.example.com cloud.example.net cloud.example.org cloud.example.info drive.example es drive.example.com drive.example.org drive.example.net drive.example.info drive.example.cat cloud.example.cat;
access_log /var/log/nginx/nextcloud.access.log หลัก;
error_log /var/log/nginx/nextcloud.error.log วิกฤต;
ส่งคืน 301 https://$host$request_uri;
# ส่งคืน 302 https://$host$request_uri;
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl http2;
ฟัง [::]:443 ssl http2;
server_name drive.foobar.es drive.foobar.com cloud.foobar.es cloud.foobar.com cloud.example.es cloud.example.com cloud.example.net cloud.example.org cloud.example.info drive.example es drive.example.com drive.example.org drive.example.net drive.example.info drive.example.cat cloud.example.cat;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
รวม /etc/nginx/conf.d-enabled/ssl-security.conf;
ssl_trusted_certificate /etc/letsencrypt/live/example.es/cert.pem;
access_log /var/log/nginx/nextcloud_ssl.access.log หลัก;
error_log /var/log/nginx/nextcloud_ssl.error.log วิกฤต;
# Codi ต่อคนคุ้นเคย la renovació dels certificat Letsencrypt
รวม /etc/nginx/snippets/letsencrypt-cert-renewal-dir.conf;
ถ้า ($http_host != "drive.example.com" ) {
เขียนใหม่ ^ https://drive.example.com$request_uri ถาวร;
หยุดพัก;
}
# การตั้งค่า HSTS
# คำเตือน: เพิ่มตัวเลือกโหลดล่วงหน้าเมื่อคุณอ่านเท่านั้น
# ผลที่ตามมาใน hstspreload.org ตัวเลือกนี้
# จะเพิ่มโดเมนลงในรายการฮาร์ดโค้ดที่จัดส่ง
# ในเบราว์เซอร์หลักทั้งหมดและถูกลบออกจากรายการนี้
#อาจใช้เวลาหลายเดือน
#add_header การขนส่งที่เข้มงวด-ความปลอดภัย "อายุสูงสุด=15768000; includeSubDomains; โหลดล่วงหน้า;" เสมอ;
ตำแหน่ง = /robots.txt {
อนุญาตทั้งหมด
ปิด log_not_found;
access_log off;
}
# สร้างข้อยกเว้น regex สำหรับ `/.well-known` เพื่อให้ลูกค้ายังคงสามารถ
# เข้าถึงได้แม้จะมีกฎ regex อยู่ก็ตาม
# `location ~ /(\.|autotest|...)` ซึ่งจะจัดการคำขอ
# สำหรับ `/.ที่รู้จักกันดี`
ที่ตั้ง ^~ /.well-known {
# กฎในบล็อกนี้เป็นการปรับกฎ
# ใน `.htaccess` ที่เกี่ยวข้องกับ `/.well-known`
สถานที่ = /.well-known/carddav { ส่งคืน 301 /remote.php/dav/; }
สถานที่ = /.well-known/caldav { ส่งคืน 301 /remote.php/dav/; }
สถานที่ /.well-known/acme-challenge { try_files $uri $uri/ =404; }
ตำแหน่ง /.well-known/pki-validation { try_files $uri $uri/ =404; }
# ให้ API ของ Nextcloud สำหรับ `/.well-known` URIs จัดการอื่นๆ ทั้งหมด
# คำขอโดยส่งไปยังตัวควบคุมส่วนหน้า
ส่งคืน 301 /index.php$request_uri;
}
#สถานที่ ^~ / {
# กำหนดขนาดการอัปโหลดสูงสุดและเพิ่มการหมดเวลาการอัปโหลด:
client_max_body_size 50G;
client_body_timeout 300 วินาที;
fastcgi_buffers 64 4K;
client_body_temp_path /home/nginx/Tools/nextcloud_data/tmp/;
fastcgi_param PHP_VALUE "upload_tmp_dir=/home/nginx/Tools/nextcloud_data/tmp/;";
fastcgi_param PHP_VALUE "output_buffering=0;";
add_header X-Accel-ไม่มีบัฟเฟอร์;
# เนื่องจาก php-fpm ไม่สามารถอ่านการตั้งค่า PHP ใน .htaccess การตั้งค่าเหล่านี้ได้
# ต้องตั้งค่าใน nextcloud/.user.ini
# fastcgi_param PHP_VALUE "upload_max_filesize=5M;\n error_reporting=E_ALL;";
fastcgi_param PHP_VALUE "upload_max_filesize=50G;";
fastcgi_param PHP_VALUE "post_max_size=50G;";
fastcgi_param PHP_VALUE "max_input_time=4600;";
fastcgi_param PHP_VALUE "max_execution_time=3600;";
fastcgi_param PHP_VALUE "request_terminate_timeout=3600;";
fastcgi_read_timeout 3600;
# เปิดใช้งาน gzip แต่อย่าลบส่วนหัว ETag
เปิด gzip;
gzip_vary บน;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied หมดอายุ ไม่มีแคช ไม่มีที่เก็บส่วนตัว no_last_modified no_etag รับรองความถูกต้อง;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font- แอปพลิเคชัน ttf/x-web-app-manifest+json แอปพลิเคชัน/xhtml+xml แอปพลิเคชัน/แบบอักษร xml/ภาพ opentype/ภาพ bmp/svg+ภาพ xml/ข้อความไอคอน x/ข้อความแคชรายการ/ข้อความ css/ข้อความล้วน/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
# Pagespeed ไม่รองรับ Nextcloud ดังนั้นหากเซิร์ฟเวอร์ของคุณถูกสร้างขึ้น
# ด้วยโมดูล `ngx_pagespeed` ให้ยกเลิกการแสดงความคิดเห็นในบรรทัดนี้เพื่อปิดใช้งาน
ปิดเพจสปีด;
# ส่วนหัวการตอบสนอง HTTP ยืมมาจาก Nextcloud `.htaccess`
add_header Referrer-Policy "no-referrer" เสมอ;
add_header X-Content-Type-Options "nosniff" เสมอ;
add_header X-ดาวน์โหลด-ตัวเลือก "noopen" เสมอ;
add_header X-Frame-Options "SAMEORIGIN" เสมอ
add_header X-อนุญาตข้ามโดเมน-นโยบาย "ไม่มี" เสมอ;
add_header X-Robots-Tag "ไม่มี" เสมอ;
add_header X-XSS-Protection "1; mode=block" เสมอ;
# ลบ X-Powered-By ซึ่งเป็นข้อมูลรั่วไหล
fastcgi_hide_header X-ขับเคลื่อนโดย;
# เส้นทางไปยังรูทของการติดตั้งของคุณ
รูท /home/nginx/Tools/nextcloud/;
# ระบุวิธีจัดการไดเร็กทอรี -- ระบุ `/index.php$request_uri`
# ที่นี่เป็นทางเลือกหมายความว่า Nginx แสดงพฤติกรรมที่ต้องการเสมอ
# เมื่อลูกค้าร้องขอเส้นทางที่สอดคล้องกับไดเร็กทอรีที่มีอยู่
#บนเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่ง หากไดเร็กทอรีนั้นมีไฟล์ index.php
# ไฟล์นั้นถูกเสิร์ฟอย่างถูกต้อง หากไม่เป็นเช่นนั้น คำขอจะถูกส่งต่อไปยัง
#ตัวควบคุมส่วนหน้า พฤติกรรมที่สม่ำเสมอนี้หมายความว่าเราไม่ต้องการ
# เพื่อระบุกฎที่กำหนดเองสำหรับบางเส้นทาง (เช่น รูปภาพและเนื้อหาอื่นๆ
# `/updater`, `/ocm-provider`, `/ocs-provider`) และด้วยเหตุนี้
# `try_files $uri $uri/ /index.php$request_uri`
#ให้พฤติกรรมที่ต้องการเสมอ
ดัชนี index.php index.html /index.php$request_uri;
# กฎที่ยืมมาจาก `.htaccess` เพื่อจัดการไคลเอนต์ Microsoft DAV
ที่ตั้ง = / {
ถ้า ( $http_user_agent ~ ^DavClnt ) {
ส่งคืน 302 /remote.php/webdav/$is_args$args;
}
}
# กฎที่ยืมมาจาก `.htaccess` เพื่อซ่อนบางเส้นทางจากลูกค้า
ตำแหน่ง ~ ^/(?:build|tests|config|lib|3rdparty| templates|data)(?:$|/) { ส่งคืน 404; }
ตำแหน่ง ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { ส่งคืน 404; }
# ตรวจสอบให้แน่ใจว่าบล็อกนี้ซึ่งส่งผ่านไฟล์ PHP ไปยังกระบวนการ PHP อยู่เหนือบล็อก
# ซึ่งจัดการสินทรัพย์คงที่ (ตามที่เห็นด้านล่าง) หากบล็อกนี้ไม่ถูกประกาศก่อน
# จากนั้น Nginx จะพบการเขียนวนซ้ำไม่สิ้นสุดเมื่อเติม `/index.php`
# ไปยัง URI ส่งผลให้เกิดการตอบสนองข้อผิดพลาด HTTP 500
ตำแหน่ง ~ \.php(?:$|/) {
# จำเป็นสำหรับการสนับสนุนแบบดั้งเดิม
เขียนใหม่ ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|. +\/richdocumentscode\/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
ตั้ง $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param เปิด HTTPS;
fastcgi_param modHeadersAvailable จริง; # หลีกเลี่ยงการส่งส่วนหัวความปลอดภัยสองครั้ง
fastcgi_param front_controller_active จริง; # เปิดใช้งาน URL ที่สวยงาม
fastcgi_pass php-ตัวจัดการ;
เปิด fastcgi_intercept_errors;
ปิด fastcgi_request_buffering;
fastcgi_max_temp_file_size 0;
}
ตำแหน่ง ~ \.(?:css|js|svg|gif|png|jpg|ico|wasm|tflite|map)$ {
try_files $uri /index.php$request_uri;
add_header การควบคุมแคช "สาธารณะ, max-age=15778463, $asset_immutable";
access_log off; # ทางเลือก: อย่าบันทึกการเข้าถึงเนื้อหา
ตำแหน่ง ~ \.wasm$ {
แอปพลิเคชัน default_type/wasm;
}
}
ตำแหน่ง ~ \.woff2?$ {
try_files $uri /index.php$request_uri;
หมดอายุ 7d; # นโยบายการควบคุมแคชที่ยืมมาจาก `.htaccess`
access_log off; # ทางเลือก: อย่าบันทึกการเข้าถึงเนื้อหา
}
# การระงับข้อความบันทึกï
# หากคุณเห็นข้อความที่ไม่มีความหมายในไฟล์บันทึกของคุณ เช่น ไคลเอ็นต์ถูกปฏิเสธโดยการกำหนดค่าเซิร์ฟเวอร์: /var/www/data/htaccesstest.txt ให้เพิ่มส่วนนี้ในการกำหนดค่า nginx ของคุณเพื่อระงับข้อความเหล่านี้:
สถานที่ = /data/htaccesstest.txt {
อนุญาตทั้งหมด
ปิด log_not_found;
access_log off;
}
# กฎที่ยืมมาจาก `.htaccess`
ตำแหน่ง / ระยะไกล {
ส่งคืน 301 /remote.php$request_uri;
}
ที่ตั้ง / {
try_files $uri $uri/ /index.php$request_uri;
}
#}
}
ไฟล์กำหนดค่า Nginx SSL รวมอยู่ใน ไฟล์กำหนดค่าโฮสต์เสมือน nginx
:
# cat /etc/nginx/conf.d-enabled/ssl-security.conf
# เปิดใช้งานการเริ่มต้นเซสชันใหม่เพื่อปรับปรุงประสิทธิภาพ https
# vincent.bernat.im/th/blog/2011-ssl-session-reuse-rfc5077.html
ssl_session_cache ที่ใช้ร่วมกัน: SSL:50m;
ssl_session_timeout 1d;
ปิด ssl_session_tickets;
# พารามิเตอร์ Diffie-Hellman สำหรับ DHE ciphersuites แนะนำ 2048 บิต
#ssl_dhparam /etc/ssl/certs/dhparam.pem;
#openssl dhparam -dsaparam -ออก /etc/ssl/private/dhparam.pem 4096
ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
# เปิดใช้งานการป้องกันฝั่งเซิร์ฟเวอร์จากการโจมตีของ BEAST
#blog.ivanristic.com/2013/09/is-beast-still-a-threat.html
เปิด ssl_prefer_server_ciphers;
# ปิดใช้งาน SSLv3 (เปิดใช้งานโดยค่าเริ่มต้นตั้งแต่ nginx 0.8.19) เนื่องจากมีความปลอดภัยน้อยกว่า TLS en.wikipedia.org/wiki/Secure_Sockets_Layer#SSL_3.0
# โปรโตคอลที่ปิดใช้งาน: TLSv1 TLSv1.1
ssl_protocols SSLv3 TLSv1.2 TLSv1.3;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ยันต์ที่เลือกเพื่อส่งต่อความลับและความเข้ากันได้
# blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE- RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128- SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256: DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES- CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
# เปิดใช้งานการเย็บเล่ม ocsp (กลไกที่ไซต์สามารถส่งข้อมูลการเพิกถอนใบรับรองไปยังผู้เยี่ยมชมในลักษณะที่รักษาความเป็นส่วนตัวและสามารถปรับขนาดได้)
#blog.mozilla.org/security/2013/07/29/ocsp-stapling-in-firefox/
ตัวแก้ไข 8.8.8.8 8.8.4.4;
เปิด ssl_stapling;
เปิด ssl_stapling_verify;
# ssl_trusted_certificate /etc/nginx/ssl/star_forgott_com.crt;
# config เพื่อเปิดใช้งาน HSTS (HTTP Strict Transport Security) developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
# เพื่อหลีกเลี่ยงการลอก ssl en.wikipedia.org/wiki/SSL_stripping#SSL_stripping
# ยัง hstspreload.org/
add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 31536000; includeSubdomains; โหลดล่วงหน้า";
# cat /etc/nginx/fastcgi
fastcgi.conf fastcgi_params fastcgi_params.dpkg-dist
root@we:~# cat /etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP เท่านั้น จำเป็นหากสร้าง PHP ด้วย --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
### ตั้งค่าตัวแปร GEOIP ###
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_CODE3 $geoip_country_code3;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
fastcgi_param GEOIP_LATITUDE $geoip_latitude;
fastcgi_param GEOIP_LONGITUDE $geoip_longitude;
ขอบคุณมากในขั้นสูง
หวังว่าใครบางคนสามารถช่วยได้ :)