Ikon bilah alat tidak muncul dan saya mendapatkan kesalahan jenis font yang hilang, tetapi semuanya ada di foldernya, tidak ada yang berubah. Bisakah Anda membantu saya memperbaiki masalah ini?
DAPATKAN
Saya mendapatkan ini untuk semua jenis font.
Harap berikan detailnya.
Apakah Anda menggunakan reverse proxy?
Apakah Anda menjalankan dalam mode pengembangan atau produksi.
Diperkecil?
Salinan aman atau settings.json Anda
Dll
Ini berjalan dalam mode pengembangan, meskipun layanan systemd memiliki "Lingkungan = NODE_ENV = produksi" di dalamnya, tidak ada proxy terbalik, css diminimalkan, settings.json hampir tidak tersentuh (hanya mysql dan admin pw yang diubah).
Sepertinya etherpad tidak dapat memuat semua font karena terlihat
Coba ubah minify menjadi false dan maxage menjadi 0 di settings.json
Saya lakukan, tidak ada yang berubah
Di laptop saya sekarang, mungkin bisa membantu lebih banyak. Hal yang paling berguna adalah mendapatkan settings.json Anda (tetapi hapus kata sandi apa pun). Bisakah Anda memberikan itu?
FWIW Saya menguji 1.6. *> 1.8.3 dan tidak mengalami hal ini tetapi mungkin terkait dengan pengaturan Anda. Json memiliki beberapa warisan warisan di:!
Jika Anda tidak ingin memberikan pengaturan, satu hal yang harus dilakukan adalah:
cp settings.json settings.backup.json
cp settings.json.template settings.json
Kemudian salin host database Anda / user / pass dari settings.backup.json
menjadi settings.json
Mulai ulang dan lihat apakah sudah diperbaiki.
/*
This file must be valid JSON. But comments are allowed
Please edit settings.json, not settings.json.template
To still commit settings without credentials you can
store any credential settings in credentials.json
*/
{
// Name your instance!
"title": "HelpMe-Etherpad",
// favicon default name
// alternatively, set up a fully specified Url to your own favicon
"favicon": "favicon.ico",
//IP and port which etherpad should bind at
"ip": "0.0.0.0",
"port" : 9001,
// Option to hide/show the settings.json in admin page, default option is set to true
"showSettingsInAdminPage" : true,
/*
// Node native SSL support
// this is disabled by default
//
// make sure to have the minimum and correct file access permissions set
// so that the Etherpad server can access them
"ssl" : {
"key" : "/path-to-your/epl-server.key",
"cert" : "/path-to-your/epl-server.crt",
"ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"]
},
*/
//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
/*"dbType" : "dirty",
//the database specific settings
"dbSettings" : {
"filename" : "var/dirty.db"
},
An Example of MySQL Configuration*/
"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad",
"host" : "localhost",
"password": "",
"database": "etherpad",
"charset" : "utf8mb4"
},
"users": {
"admin": {
"password": "",
"is_admin": true
}
},
//the default text of a pad
"defaultPadText" : "Willkommen zum CN-Etherpad!\n\nDieses Dokument wird beim Tippen laufend aktualisiert, sodass jeder immer denselben Text sieht. So kann man nahtlos zusammen an Dokumenten arbeiten.\n",
/* Default Pad behavior, users can override by changing */
"padOptions": {
"noColors": false,
"showControls": true,
"showChat": true,
"showLineNumbers": true,
"useMonospaceFont": false,
"userName": false,
"userColor": false,
"rtl": false,
"alwaysShowChat": false,
"chatAndUsers": false,
"lang": "de-de"
},
/* Should we suppress errors from being visible in the default Pad Text? */
"suppressErrorsInPadText" : false,
/* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
"requireSession" : false,
/* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
"editOnly" : false,
/* Users, who have a valid session, automatically get granted access to password protected pads */
"sessionNoPassword" : false,
/* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
but makes it impossible to debug the javascript/css */
"minify" : false,
/* How long may clients use served javascript code (in seconds)? Without versioning this
may cause problems during deployment. Set to 0 to disable caching */
"maxAge" : 21600, // 60 * 60 * 6 = 6 hours
/* This is the absolute path to the Abiword executable. Setting it to null, disables abiword.
Abiword is needed to advanced import/export features of pads*/
"abiword" : "/usr/local/bin/abiword",
/* This is the absolute path to the soffice executable. Setting it to null, disables LibreOffice exporting.
LibreOffice can be used in lieu of Abiword to export pads */
"soffice" : null,
/* This is the path to the Tidy executable. Setting it to null, disables Tidy.
Tidy is used to improve the quality of exported pads*/
"tidyHtml" : "/usr/bin/tidy",
/* Allow import of file types other than the supported types: txt, doc, docx, rtf, odt, html & htm */
"allowUnknownFileEnds" : true,
/* This setting is used if you require authentication of all users.
Note: /admin always requires authentication. */
"requireAuthentication" : false,
/* Require authorization by a module, or a user with is_admin set, see below. */
"requireAuthorization" : false,
/*when you use NginX or another proxy/ load-balancer set this to true*/
"trustProxy" : false,
/* Privacy: disable IP logging */
"disableIPlogging" : false,
/* Users for basic authentication. is_admin = true gives access to /admin.
If you do not uncomment this, /admin will not be available! */
// restrict socket.io transport methods
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
// Allow Load Testing tools to hit the Etherpad Instance. Warning this will disable security on the instance.
"loadTest": false,
// Disable indentation on new line when previous line ends with some special chars (':', '[', '(', '{')
/*
"indentationOnNewLine": false,
*/
/* The toolbar buttons configuration.
"toolbar": {
"left": [
["bold", "italic", "underline", "strikethrough"],
["orderedlist", "unorderedlist", "indent", "outdent"],
["undo", "redo"],
["clearauthorship"]
],
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]
]
},
*/
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
"loglevel": "INFO",
//Logging configuration. See log4js documentation for further information
// https://github.com/nomiddlename/log4js-node
// You can add as many appenders as you want here:
"logconfig" :
{ "appenders": [
{ "type": "console"
//, "category": "access"// only logs pad access
}
/*
, { "type": "file"
, "filename": "your-log-file-here.log"
, "maxLogSize": 1024
, "backups": 3 // how many log files there're gonna be at max
//, "category": "test" // only log a specific category
}*/
/*
, { "type": "logLevelFilter"
, "level": "warn" // filters out all log messages that have a lower level than "error"
, "appender":
{ Use whatever appender you want here }
}*/
/*
, { "type": "logLevelFilter"
, "level": "error" // filters out all log messages that have a lower level than "error"
, "appender":
{ "type": "smtp"
, "subject": "An error occurred in your EPL instance!"
, "recipients": "[email protected], [email protected]"
, "sendInterval": 300 // 60 * 5 = 5 minutes -- will buffer log messages; set to 0 to send a mail for every message
, "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods
"host": "smtp.example.com", "port": 465,
"secureConnection": true,
"auth": {
"user": "[email protected]",
"pass": "bar_foo"
}
}
}
}*/
]
}
}
Oke keren, beri aku 2 menit.
Tidak, itu tidak mereplikasi, tombol toolbar ada untuk saya ..
Apakah instance ini bersifat publik yang dapat saya akses? jangan ragu untuk mengirim email kepada saya URL [email protected]
Pertanyaan bodoh .. Apakah Anda
bin/run.sh
Terima kasih!
Sayangnya itu bukan contoh publik.
Saya mengganti setting.json dengan template baru, juga mengganti skin menjadi no-skin. masih tidak berhasil ..
Dan ya, saya telah menjalankan run.sh, memulai kembali layanan dan menghapus uang tunai :)
Ini adalah layanan systemd btw:
[Satuan]
Deskripsi = Etherpad
Setelah = syslog.target network.target
[Layanan]
Ketik = sederhana
Pengguna = etherpad
Grup = etherpad
WorkingDirectory = / opt / etherpad
Lingkungan = NODE_ENV = produksi
ExecStart = / opt / etherpad / bin / run.sh
Mulai ulang = selalu
[Install]
WantedBy = multi-user.target
Bagaimana Anda menginstal? Apakah Anda git clone
atau apakah Anda mengambil .zip yang telah dirilis dan membongkar?
URL Permintaan: https://dev.com:9001/static/font/RobotoMono-Regular.ttf
jose<strong i="7">@server</strong>:~/develop$ locate RobotoMono | grep develop | grep Reg
/home/jose/develop/src/static/font/RobotoMono-Regular.ttf
Semua tampak baik-baik saja bagiku.
Saya menginstalnya melalui git clone, atau lebih tepatnya memperbaruinya. Saya yakin itu dipasang beberapa tahun yang lalu (oleh admin lain) melalui zip unpack. Saya menggunakan rsync untuk memperbarui semuanya
Ah, saya ingin tahu apakah admin terakhir melakukan beberapa peretasan? jika Anda git status
apakah Anda melihat file yang dimodifikasi?
Apa yang terjadi jika Anda mengkloning repo baru lalu menyalin settings.json? Itu akan berhasil tetapi jelas tidak memperbaiki masalah bahwa ada sesuatu yang aneh ..
Saya akan melakukannya sekarang. ya, itu sangat aneh .. seolah-olah folder root untuk font-font tersebut tidak sama dengan etherpad
Kodenya benar btw. src / adalah folder root ..
Saya pikir admin sebelumnya meretas sesuatu, saya tidak bisa mengatakan apa tanpa melihat git diff. Bisakah kita menutup ini sekarang?
admin sebelumnya tidak menggunakan git (tidak diinstal), masih tidak berfungsi setelah klon bersih ..
@jamur_kejang Kloning dan jalankan benar-benar bersih dan tidak berhasil? :! Saya merasa ada yang aneh dengan pengaturan Anda .. Ada kesalahan atau peringatan di log?
Bagaimana jika Anda melakukan klon yang benar-benar bersih dan tidak mengubah pengaturan apa pun? Apakah itu masih gagal?
Adakah kemungkinan Anda dapat membuatnya menjadi publik sementara untuk saya debug?
tidak, itu ada di intranet yang aman .. dapatkah peningkatan dari node 6 ke 12 ada hubungannya dengan itu?
Tidak yakin .. Saya tidak begitu yakin langkah debug lainnya di sini ..
Satu-satunya petunjuk yang saya miliki adalah ..
https://github.com/ether/etherpad-lite/blob/develop/src/node/utils/Minify.js#L429
Tapi Anda bilang Anda membersihkan semua cache dan melakukan pembersihan ..
Anda menonaktifkan minify, apakah rm -Rf src/node_modules && rm src/package-lock.json
lalu menjalankan bin/run.sh
ya? Maksud saya, Anda melakukan klon bersih jadi; \
Berapa nilai git sha
, npm --version
dan nodejs version
?
npm adalah 6.14.4 dan node -v adalah 12.16.2. pertanyaan bodoh, tapi apa sebenarnya yang Anda maksud dengan "saya" git sha?
Saya reroll ke 1.6.2 dan mengatur minify ke false dan tiba-tiba berfungsi lagi (sebelum itu bahkan ikon versi lama tidak berfungsi). Itu melegakan .. Saya akan mencoba membuat pengaturan bersih lagi minggu depan dengan pengaturan ini, mungkin kali ini akan berhasil: D Terima kasih banyak atas bantuan Anda !!
Di folder etherpad Anda, ketik git rev-parse HEAD
Saya ingin melihat komitmen mana yang Anda lakukan.
Halo
Saya memiliki masalah yang persis sama kecuali saya berada di belakang proxy.
Saya melakukan pengujian dengan menyimpan instalasi saya dan mengkloning repositori. Kemudian saya cukup menyalin file konfigurasi saya dan memulai ulang layanan.
Saya masih memiliki masalah yang sama meskipun instalasi baru.
Tapi:
Di sisi lain, hal yang menarik, ketika saya mengakses layanan tanpa menggunakan proxy dan tanpa https, tidak ada masalah, ikon ditampilkan dengan benar !!
Konfigurasi proxy apache berasal dari dokumentasi, tidak ada yang eksotis di pihak saya.
Punya masalah yang sama persis.
Saya menggunakan proxy terbalik dan instance Etherpad ada di subdirektori (/ etherpad). Saya berhasil membuatnya dengan benar menambahkan yang berikut ini ke konfigurasi apache saya.
<Location /static/font>
ProxyPass http://localhost:9001/static/font
ProxyPassReverse http://localhost:9001/static/font
</Location>
Saya tidak mengubah apa pun di settings.json.
@skramsa belum menyebutkan proxy terbalik jadi saya rasa tidak ada hubungannya? Skramsa harap konfirmasikan bahwa tidak ada proxy balik dalam pengaturan Anda.
Punya masalah yang sama persis.
Saya menggunakan proxy terbalik dan instance Etherpad ada di subdirektori (/ etherpad). Saya berhasil membuatnya dengan benar menambahkan yang berikut ini ke konfigurasi apache saya.
<Location /static/font> ProxyPass http://localhost:9001/static/font retry=0 timeout=30 ProxyPassReverse http://localhost:9001/static/font </Location>
Saya tidak mengubah apa pun di settings.json.
Mengapa aturan coba lagi dan batas waktu?
@skramsa belum menyebutkan proxy terbalik jadi saya rasa tidak ada hubungannya? Skramsa harap konfirmasikan bahwa tidak ada proxy balik dalam pengaturan Anda.
Ya, tetapi @julpec berada di belakang proxy, jadi saya
Punya masalah yang sama persis.
Saya menggunakan proxy terbalik dan instance Etherpad ada di subdirektori (/ etherpad). Saya berhasil membuatnya dengan benar menambahkan yang berikut ini ke konfigurasi apache saya.<Location /static/font> ProxyPass http://localhost:9001/static/font retry=0 timeout=30 ProxyPassReverse http://localhost:9001/static/font </Location>
Saya tidak mengubah apa pun di settings.json.
Mengapa aturan coba lagi dan batas waktu?
Anda benar, saya rasa itu tidak diperlukan, saya baru saja melakukan ini dengan terburu-buru kemarin setelah pembaruan;)
@skramsa belum menyebutkan proxy terbalik jadi saya rasa tidak ada hubungannya? Skramsa harap konfirmasikan bahwa tidak ada proxy balik dalam pengaturan Anda.
Ya, tetapi @julpec berada di belakang proxy, jadi saya
Terima kasih
Sebagai pengingat :
Di sisi lain, hal yang menarik, ketika saya mengakses layanan tanpa menggunakan proxy dan tanpa https, tidak ada masalah, ikon ditampilkan dengan benar !!
Dalam kasus saya, jelas itu terkait proxy.
Selain itu, saya berada dalam situasi migrasi instans Etherpad saya dan saya memigrasi database saya dan setelah itu saya memperbarui Etherpad. Saya memiliki ini keluar di log sekarang:
[2020-04-29 10:43:29.440] [ERROR] console - table is not configured with charset utf8mb4 -- This may lead to crashes when certain characters are pasted in pads
Tidak tahu apakah itu dapat menyebabkan kesalahan ...
Sebagai pengingat :
Di sisi lain, hal yang menarik, ketika saya mengakses layanan tanpa menggunakan proxy dan tanpa https, tidak ada masalah, ikon ditampilkan dengan benar !!
Dalam kasus saya, jelas itu terkait proxy.
Selain itu, saya berada dalam situasi migrasi instans Etherpad saya dan saya memigrasi database saya dan setelah itu saya memperbarui Etherpad. Saya memiliki ini keluar di log sekarang:
[2020-04-29 10:43:29.440] [ERROR] console - table is not configured with charset utf8mb4 -- This may lead to crashes when certain characters are pasted in pads
Tidak tahu apakah itu dapat menyebabkan kesalahan ...
Buat masalah terpisah untuk ini. Ini perlu ditangani.
Saya memiliki masalah yang sama.
Saya berada di belakang reverse proxy (Apache) dan saya menggunakan container docker terbaru (saat ini) (menarik gambar satu menit yang lalu):
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
etherpad/etherpad latest 878d71df1b8e 44 hours ago 273MB
Bilah alat terlihat persis seperti di laporan asli. Etherpad diproksikan di bawah /pad/
, tetapi font dimuat dari /static/
, yang menghasilkan kesalahan 404.
Saya lebih suka tidak menggunakan solusi dari @lucaguindani , karena /static/
adalah jalur yang sangat umum yang juga digunakan oleh aplikasi lain.
Oke, akan mengurutkan ASAP. Seharusnya hari ini, mungkin tidak akan digabungkan minggu ini jadi kalian mungkin perlu menerapkan tambalan.
Setelah minggu rilis, kami semua mencoba menghabiskan waktu bersama keluarga, dll.
Saya tidak dapat mereplikasi ini dengan konfigurasi apache saya. Bisakah seseorang menempelkan konfigurasi apache yang melanggar?
Telah menguji nginx juga dengan konfigurasi wiki dan tidak dapat mereplikasi di sana; /
Membuat saya berpikir kalian semua mengalami Apache mis-config / quirk yang aneh. Dari mana Anda mendapatkan konfigurasi subdirektori apache Anda? Kami tidak menyediakannya di wiki afaik jadi saya pikir mungkin kalian nakal? : P
PS Saya sedang menguji pengembangan, yang merupakan rilis atm dan konfigurasi nginx adalah:
server {
listen 80;
server_name pad.example.com;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
location /pad {
rewrite /pad/(.*) /$1 break;
rewrite ^/pad$ /pad/ permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/socket.io {
rewrite /pad/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
Saya memang melihat tes / frontend / index.html gagal yang tampaknya aneh
Saya juga mencoba /pad/foo/p/blah
hanya untuk mengonfirmasi tidak ada bug di sisi Etherpad dan semuanya terlihat baik-baik saja ...
Saya tidak dapat mereplikasi ini dengan konfigurasi apache saya. Bisakah seseorang menempelkan konfigurasi apache yang melanggar?
Ini milikku:
<Location /pad/>
Order allow,deny
Allow from all
Options All +MultiViews -ExecCGI
AuthType Basic
AuthName "authentification"
AuthBasicProvider ldap
AuthLDAPURL "ldap://127.0.0.1:389/ou=****,dc=****,dc=****,dc=org"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
require ldap-group cn=****,ou=***,dc=*****,dc=****,dc=org
ProxyPass http://localhost:9002/
ProxyPassReverse http://localhost:9002/
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER,NS} (.+)
RewriteRule . - [E=RU:%1]
RequestHeader add X-Forwarded-User %{RU}e
</Location>
Luar biasa terima kasih beri saya satu jam akan mencoba malam ini.
Membuat saya berpikir kalian semua mengalami Apache mis-config / quirk yang aneh. Dari mana Anda mendapatkan konfigurasi subdirektori apache Anda? Kami tidak menyediakannya di wiki afaik jadi saya pikir mungkin kalian nakal? : P
Membuat saya berpikir kalian semua mengalami Apache mis-config / quirk yang aneh. Dari mana Anda mendapatkan konfigurasi subdirektori apache Anda? Kami tidak menyediakannya di wiki afaik jadi saya pikir mungkin kalian nakal? : P
Saya melihat di sana dan contoh tidak mencakup menempatkan Etherpad di subdir untuk Apache ...
Menggunakan versi snip Anda yang sedikit dimodifikasi
<VirtualHost *:81>
<Location /pad/>
Order allow,deny
Allow from all
Options All +MultiViews -ExecCGI
ProxyPass http://localhost:9001/
ProxyPassReverse http://localhost:9001/
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER,NS} (.+)
RewriteRule . - [E=RU:%1]
</Location>
</VirtualHost>
jose<strong i="5">@server</strong>:~/develop$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2020-03-13T12:26:16
Saya melihat di sana dan contoh tidak mencakup menempatkan Etherpad di subdir untuk Apache ...
itu tidak masuk akal. Anda dapat meletakkan apa pun yang Anda inginkan di tag lokasi. Tapi saya akan mencoba dengan Anda config dan tanpa "subdirektori" sekarang.
Terima kasih atas investigasi Anda btw
itu tidak masuk akal. Anda dapat meletakkan apa pun yang Anda inginkan di tag lokasi. Tapi saya akan mencoba dengan Anda config dan tanpa "subdirektori" sekarang.
itu tidak masuk akal ... di otakku. Tapi di dunia nyata itulah yang menyebabkan masalah!
Poin bagus: +1:
Namun, saya tidak mengerti mengapa semuanya bekerja dengan baik sebelumnya, ini telah berjalan selama bertahun-tahun di belakang proxy terbalik dengan ini sebagai konfigurasi.
Saya benar-benar membutuhkan subdirektori karena saya memiliki layanan berbeda yang berjalan di belakang apache "sistem masuk tunggal".
Apakah mungkin menggunakan sesuatu selain "/" sebagai lokasi?
Terima kasih telah menangani Masalah ini
Salin / tempel konfigurasi saya dari atas, saya menggunakan lokasi berbeda ...
Saya tidak melihat perbedaannya dengan milik saya sendiri, kecuali untuk pengaturan otentikasi.
Saya akan mencoba sekarang
Salin / tempel konfigurasi saya dari atas, saya menggunakan lokasi berbeda ...
masih masalah yang sama: tidak ada tampilan ikon
Versi Apache?
Versi server: Apache / 2.4.38 (Debian)
Server dibangun: 2019-10-15T19: 53: 42
Saya menyelidiki dengan pemeriksa elemen dan inilah yang dia berikan kepada saya sebagai URL untuk font:
Request URL: https://example.org/static/font/RobotoMono-Regular.ttf
Harus:
Request URL: https://example.org/pad/static/font/RobotoMono-Regular.ttf
Saya tidak mengerti mengapa saya tidak memiliki subdirektori "pad".
Jadi, saya mulai dari awal dengan host baru.
docker run --name etherpad -d \
-e NODE_ENV=production -p 9001:9001 \
--mount type=bind,src=/etc/localtime,dst=/etc/localtime \
--restart=unless-stopped \
etherpad/etherpad
Tidak ada yang berubah dalam konfigurasi aslinya.
Konfigurasi Apache:
<VirtualHost _default_:443>
ServerName host
<Proxy *>
Require all granted
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /pad/ http://localhost:9001/
ProxyPassReverse /pad/ http://localhost:9001/
SSLCertificateFile /etc/apache2/ssl/host.example.com_cert_with_chain.pem
SSLCertificateKeyFile /etc/apache2/ssl/host.example.com_sec_key.pem
SSLCertificateChainFile /etc/apache2/ssl/chain.pem
</VirtualHost>
Versi Apache adalah 2.4.29.
Menghapus cache browser, dan hasilnya:
Aneh. Saya akan mencoba menggunakan gambar buruh pelabuhan secara lokal untuk melihat apakah itu mengubah sesuatu
@JohncLear ini benar-benar luar biasa. Saya mencoba dengan konfigurasi yang persis sama dengan Anda, pada port 81, di vhost terpisah, dll ... dan masalah masih terjadi.
Saya memastikan untuk mengosongkan cache setiap saat.
Ini adalah versi perangkat lunak saya:
node: v10.20.1
npm: 6.14.4
apache2: Apache/2.4.38 (Debian)
etherpad: 1.8.3 (6210114)
Saya memiliki masalah yang persis sama. Ikon hilang ketika dijalankan melalui proxy (nginx) dan minify disetel ke true. Segera setelah saya menyetel minify ke false dan memulainya dengan clearRun.sh dan menghapus cache browser, ikon tersebut berfungsi. Di versi lama yang kami gunakan cukup lama, ini berfungsi dengan minify: true dan konfigurasi Nginx ini:
server {
listen 80;
listen 443 ssl;
include snippets/mortis2-ssl.conf;
server_name mortis2;
location /pad/
{
#proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Saya menemukan, ketika saya menggunakan konfigurasi nginx dari @JohnMcLear dan menggunakan rewrite, itu akan berhasil. Saya kira masalah itu hanya muncul, ketika kami menggunakan lokasi yang berbeda (seperti / pad).
Konfigurasi Nginx yang berfungsi:
server {
listen 80;
listen 443 ssl;
include snippets/mortis2-ssl.conf;
server_name mortis2;
location /pad/
{
rewrite /pad/(.*) /$1 break;
rewrite ^/pad$ /pad/ permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/socket.io {
rewrite /pad/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
Op mengatakan mengecilkan benar / salah tidak mengubah hasil. Op juga tidak menyebutkan proksi rev .... Saya akan memeriksa dengan mengecilkan benar ketika saya sampai di rumah.
Dikonfirmasi itu disebabkan oleh minify.
https://github.com/ether/etherpad-lite/issues/3956#issuecomment -620476150 mengklaim minify false
tidak ada bedanya dan saya harus memeriksanya sendiri jika itu masalahnya ..
*Telapak tangan.
Akan memperbaiki ASAP.
FWIW Nginx juga mengalami kegagalan ini dan kegagalan tersebut ada di semua halaman (pad, index, timeslider dll).
Masalahnya adalah dengan implementasi clean-css
. Css 3 sampai 4 menghapus opsi relativeTo
dan penghapusan ini menyebabkan bug ini. Saya beralih ke rebase
dan rebaseTo
dalam contoh saya
https://github.com/JohnMcLear/etherpad-lite/commit/e684a3ba4129d1bae54e7b65a316a7d690217241 dan merupakan semi-fix dan https://github.com/JohnMcLear/etherpad-lite/commit/a8c66b3b513b058e89f16b7 . Ikon akan muncul tetapi font salah untuk beberapa internal pad dan mungkin item lainnya ..
Ada saran @jakubpawlowicz @seballot ?
@JohnMcLear salah satu cara untuk membuatnya bekerja untuk Anda mungkin melalui transformasi sewenang-wenang, lihat https://github.com/jakubpawlowicz/clean-css#how -to-apply-arbitrary-transformations-to-css-properties
Ide lainnya adalah meneruskan opsi input ke clean-css melalui hash, lihat https://github.com/jakubpawlowicz/clean-css/blob/master/test/module-test.js#L620 , mis.
new CleanCSS().minify({"path/to/stylesheet/a.css": { styles: "/* source of a.css goes here */" }})
dan menggunakan opsi rebaseTo
, tetapi tanpa wawasan lebih lanjut saya tidak tahu apakah itu akan berhasil atau tidak.
Semoga berhasil!
Tutup ? Betulkah ?
OP ditutup ... Seharusnya tidak ditutup. OP FWIW Anda dapat mengklik berhenti mengikuti atau berhenti berlangganan atau sesuatu jika Anda tidak ingin kebisingan.
Ini masih belum terselesaikan, jika belum punya patch oleh EOW saya akan coba patch.
Saya sangat ingin melihat tambalan komunitas untuk ini meskipun jika seseorang dapat meluangkan waktu.
@JohnMcLear Saya benar-benar ingin dapat membantu dan meluangkan waktu untuk hal ini tetapi saya tidak memiliki keterampilan pengembang dan bahkan kurang dalam nodejs. Saya berharap orang lain bisa melakukannya. Saya hanya dapat mendukung Anda dengan pikiran saya…
Sementara saya menghargainya, pikiran Anda tidak mengubah popok;)
benjolan @eballot
Hai, tidak tahu banyak tentang yang satu ini, maaf ... Apakah ada cara untuk memperbanyaknya secara lokal?
develop
minify
menjadi true
server {
listen 80;
server_name pad.example.com;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
location /pad/foo {
rewrite /pad/foo/(.*) /$1 break;
rewrite ^/pad/foo$ /pad/foo permanent;
proxy_pass http://localhost:9001/;
proxy_pass_header Server;
proxy_redirect / /pad/foo;
proxy_set_header Host $host;
proxy_buffering off;
}
location /pad/foo/socket.io {
rewrite /pad/foo/socket.io/(.*) /socket.io/$1 break;
proxy_pass http://localhost:9001/;
proxy_redirect / /pad/foo/;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_set_header Host $host; # pass the host header
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
location /static {
rewrite /static/(.*) /static/$1 break;
proxy_pass http://localhost:9001/;
proxy_set_header Host $host;
proxy_buffering off;
}
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
cleanCSS
menulis ulang (memang demikian) menjadi ../../../
- pemahaman saya adalah itu karena pad dan editor menggunakan @ font.css yang sama dan keduanya memiliki? basePaths berbeda? kemudian satu bekerja dan satu tidak setelah minifikasi. Saya tidak bisa memikirkan perbaikan yang elegan tetapi saya pikir Anda mungkin bisa?@seballot ada kemajuan sobat?
Tidak, maaf saya tidak dapat menemukan perbaikan ...
Saya juga, cleanCSS melakukan beberapa keajaiban yang saya tidak mengerti (saya bukan orang CSS) dan tidak ada contoh saya yang berjalan di subdir sehingga agak tidak menarik bagi saya untuk mempelajarinya juga
Saya tidak ingin tetapi saya mungkin perlu mengganti cleanCSS dengan csso karena saya bisa mendapatkan csso untuk bekerja tetapi saya pikir pada akhirnya saya tidak menyelesaikan masalah dengan benar dan csso tidak ada yang sama performanya dengan cleanCSS untuk kasus penggunaan kami .
Saya menemukan dev cleanCSS untuk melihat apakah kita dapat berkolaborasi untuk memperbaikinya :)
bagus! jika itu bekerja dengan baik dengan csso, mengapa tidak melakukannya?
csso memperkecil tetapi tidak mengurangi # pemuatan halaman. Juga saya lebih suka cleanCSS sebagai proyek / dokumen dll. Dan tidak keberatan membuang beberapa sumber daya pada proyek yang bagus itu berarti saya dapat fokus pada usaha khusus Ether
Saya menghadapi masalah yang sama seperti di utas ini.
Adakah yang bisa membimbing saya bagaimana saya bisa mengatasi masalah ini. Tidak ada perubahan besar dalam file settings.json.
Solusinya adalah dengan menyetel minify ke false di settings.json
Saya akan mencoba untuk melihat-lihat malam ini.
Saya dapat mereplikasi masalah menggunakan konfigurasi nginx yang diberikan oleh John di https://github.com/ether/etherpad-lite/issues/3956#issuecomment -625163151 dalam masalah yang sama ini.
Saya pikir ada masalah baik dalam konfigurasi Nginx yang diposting dan dalam kode Etherpad.
Lebih detailnya nanti.
Saya hanya menghabiskan 2 detik melihat kode nginx dan seharusnya tidak memiliki konfigurasi untuk /static
seperti yang ada di salin / tempel yang saya lakukan tetapi akar masalahnya jauh di dalam cleanCSS ...
Kami memiliki berbagai masalah yang terjadi di sini.
file konfigurasi Nginx uji memiliki pengalihan yang salah untuk /static
. Seluruh bagian location /static
harus dihapus dari sini . Dalam badai email yang diterima selama hari-hari ini, saya berpikir untuk mengingat bahwa seorang pengguna mengeluh - memang - bahwa /static
akan berbenturan dengan banyak aplikasi web lainnya . Mungkin dia disesatkan oleh contoh yang mirip dengan ini;
Ini harus diperbaiki melalui dokumentasi (wiki? Ada yang lain di internet?) Dan meningkatkan kualitas contoh .
4177b3f9434e memindahkan deklarasi font-face
dari src/static/css/pad.css
ke dua file yang diimpor ( src/static/css/pad/fonts.css
dan src/static/css/pad/toolbar.css
) ke direktori yang berbeda, dan URL di src
relatif terhadap jalur stylesheet ;
Selain itu, setelah menggabungkan 95fd5ce2a45e untuk 1.8.4 yang akan datang, kami akan memiliki masalah cache staleness yang juga perlu diatasi.
Saya melakukan beberapa tes dan mempersiapkan PR.
Membuka # 4002 untuk memperbaiki masalah ini. Terima kasih banyak kepada @JohnMcLear untuk pekerjaan pendahuluan.
@skramsa , @julpec , @lucaguindani , @ashishhari (dan John, tentunya):
Harap perhatikan juga bahwa konfigurasi proxy balik tidak memerlukan aturan khusus untuk "/ statis".
Terima kasih atas pengakuannya. Menyetel minify ke false tidak menyelesaikan
masalah bagi saya.
Saya menggunakan ini pada instalasi jitsi pada instans AWS EC2, dan di sana
adalah server nginx yang digunakan untuk menghosting jitsi dan juga untuk memulai node
server untuk layanan etherpad pada mesin yang sama pada port 9001.
Apakah ini berarti saya mungkin perlu mengubah beberapa pengaturan nginx lainnya? (Bukan saya
memahami reverse proxy dengan benar, tetapi mungkinkah demikian?), Atau apakah saya
hanya perlu menunggu perbaikan tersedia.
Pada Kamis, 14 Mei 2020 pukul 6:07 muxator [email protected] menulis:
Kami memiliki berbagai masalah yang terjadi di sini.
1.
file konfigurasi Nginx pengujian memiliki pengalihan yang salah untuk / static. Itu
seluruh lokasi / bagian statis harus dihapus dari sini
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-625163151 .
Dalam badai email yang diterima selama hari-hari ini, saya berpikir untuk mengingat bahwa apengguna mengeluh - memang - bahwa / static akan berbenturan dengan banyakaplikasi web lainnya . Mungkin dia disesatkan oleh contoh serupa
untuk yang satu ini;Ini harus diperbaiki melalui dokumentasi (wiki?
Adakah yang lain di internet?) Dan meningkatkan kualitascontoh .
2.4177b3f
https://github.com/ether/etherpad-lite/commit/4177b3f9434e8516f8fe4f8e02b2a75ce5d64173
memindahkan deklarasi font-face dari src / static / css / pad.css ke dua
file yang diimpor (src / static / css / pad / fonts.css dan
src / static / css / pad / toolbar.css) di direktori berbeda, dan URL di
src relatif terhadap jalur stylesheet
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src ;
3.Selain itu, setelah menggabungkan 95fd5ce
https://github.com/ether/etherpad-lite/commit/95fd5ce2a45e31980ad8c2562e3fe6f77c52d4ff
untuk 1.8.4 yang akan datang, kami akan mengalami masalah cache staleness
itu juga perlu ditangani.Saya melakukan beberapa tes dan mempersiapkan PR.
-
Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628317976 ,
atau berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/AH7VXAS65ZUAR33CPKSI6OLRRM4KZANCNFSM4MSSRTRQ
.
@skramsa , @julpec , @lucaguindani , @ashishhari (dan John, tentunya):
Ok untuk saya uji. Saya tidak memiliki konfigurasi khusus untuk static
.
Terima kasih atas pengakuannya. Menetapkan minify ke false tidak menyelesaikan masalah bagi saya.
Tapi hal ini bekerja untukku. Di bawah apache, saya beralih ke false dan semuanya mulai berfungsi dengan baik.
Saya bisa mengujinya.
Pada Kamis, 14 Mei 2020 pukul 13.30 julpec [email protected] menulis:
@skramsa https://github.com/skramsa , @julpec https://github.com/julpec ,
@lucaguindani https://github.com/lucaguindani , @ashishhari
https://github.com/ashishhari (dan John, tentunya): adalah salah satu dari Anda
dalam posisi menguji PR itu untuk melihat apakah itu berhasil untuk mereka? saya akan
seperti validasi independen, jika memungkinkan.Ok untuk saya uji. Saya tidak memiliki konfigurasi khusus untuk statis.
Terima kasih atas pengakuannya. Menyetel minify ke false tidak menyelesaikan
masalah bagi saya.Tapi hal ini bekerja untukku. Di bawah apache, saya beralih ke false dan segalanya
mulai bekerja dengan baik.-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628464590 ,
atau berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/AH7VXAXKTJKZCAZVRXZIJX3RROQLPANCNFSM4MSSRTRQ
.
Juga mengonfirmasi -> pengaturan minify ke false berfungsi dengan benar di sistem saya.
(Saya mungkin tidak memulai ulang layanan dengan benar terakhir kali).
Pada Kamis, 14 Mei 2020 pukul 13.30 julpec [email protected] menulis:
@skramsa https://github.com/skramsa , @julpec https://github.com/julpec ,
@lucaguindani https://github.com/lucaguindani , @ashishhari
https://github.com/ashishhari (dan John, tentunya): adalah salah satu dari Anda
dalam posisi menguji PR itu untuk melihat apakah itu berhasil untuk mereka? saya akan
seperti validasi independen, jika memungkinkan.Ok untuk saya uji. Saya tidak memiliki konfigurasi khusus untuk statis.
Terima kasih atas pengakuannya. Menyetel minify ke false tidak menyelesaikan
masalah bagi saya.Tapi hal ini bekerja untukku. Di bawah apache, saya beralih ke false dan segalanya
mulai bekerja dengan baik.-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/ether/etherpad-lite/issues/3956#issuecomment-628464590 ,
atau berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/AH7VXAXKTJKZCAZVRXZIJX3RROQLPANCNFSM4MSSRTRQ
.
Tapi hal ini bekerja untukku. Di bawah apache, saya beralih ke false dan semuanya mulai berfungsi dengan baik.
Juga mengonfirmasi -> pengaturan minify ke false berfungsi dengan benar di sistem saya.
@julpec , @ashishhari : pengaturan minify = false adalah solusi yang diketahui.
Harapannya sekarang adalah untuk melihat apakah # 4002 memperbaiki bug saat minify = true.
Prosedurnya adalah sebagai berikut, lakukan ini hanya jika semua langkah sudah jelas untuk Anda:
Mulailah mereplikasi bug:
minify
= true
dalam settings.json
Coba perbaikannya:
minify
= true
di settings.json
Saya mau tapi saya tidak tahu prosedur untuk menerapkan PR :(
Terima kasih @muxator Saya akan menguji dalam satu jam.
Oh wow, saya tidak akan pernah menemukan perbaikan itu! Itu gila.
git remote add mux https://github.com/muxator/etherpad-lite/
git fetch mux
git checkout mux/fix/fonts-behind-reverse-proxy
Bagi mereka yang juga ingin menguji ..
setelah pengujian ingat untuk git checkout develop
lain Anda akan di cabang basi muxs
terima kasih, saya akan menguji sore ini
Hrm Saya pikir ada sesuatu yang kurang baik @muxator .. Saya melihat ~ 54 permintaan, vs ~ 49 (saat ini develop
) - Perhatikan bahwa saya mengaktifkan plugin untuk memberikan permintaan tambahan. Jadi PR ini akan menjadi regresi kinerja pemuatan halaman untuk memenuhi kasus penggunaan yang tidak berdokumen / tidak didukung yang tidak dapat diterima IMHO.
Catat beberapa permintaan untuk file yang sama ... :( Ini tidak ada kemajuan tetapi beberapa permintaan untuk file yang sama bukanlah solusi yang kami cari.
berbagai permintaan berasal dari iframe berbeda menurut saya. Baik halaman utama dan editor iframe membutuhkan font, selalu seperti ini bukan?
afaik cleanCSS digunakan untuk memperbaiki masalah itu @seballot
selalu seperti ini, bukan?
Ya, selalu seperti ini.
Saya pikir cleanCss lebih untuk menghindari memuat setiap sebagian css (pad / popups.css, pad / editbar.css, pad / chat.css ...), dan sebaliknya memuat hanya satu pad.css
Namun menggunakan iframe, browser wajib meminta dua kali setiap berbagi file dengan iframe. Tetapi panggilan kedua harus menggunakan cache lokal ("diambil dari cache")
Saya menerapkan permintaan tarik dan berfungsi tanpa masalah (dengan apache)
Terima kasih @julpec.
Malam ini saya akan mencoba menangani # permintaan yang dikhawatirkan @JohnMcLear . Jika tidak ada yang terjadi, saya akan menggabungkan PR.
Tnx mux yang mengagumkan
Apakah ada cara untuk mengupload file HAR di suatu tempat di Github? Saya telah menguji # 4002 dan saya bersedia membagikan rekamannya, tetapi saya tidak tahu di mana harus mengunggahnya.
Elemen umum:
Variabel:
Ini adalah empat variabel biner -> 2 ^ 4 = 16 kemungkinan .
Ini memakan banyak waktu!
Berikut kasus yang lebih relevan:
| Deskripsi | pengembangan saat ini (4816785aef45) | PR # 4002 |
| ---- | ---- | ---- |
| Firefox, diminimalkan, pemuatan pertama | 34 permintaan
1,61 MB
1,61 MB ditransfer | 36 permintaan
1,61 MB
1,53 MB ditransfer |
| Firefox, minified, hot cache | 29 permintaan
1,12 MB
216 KB ditransfer | 31 permintaan
1,18 MB
216 KB ditransfer |
| Chromium, diminimalkan, pemuatan pertama | 44 permintaan
2,0 MB
1,5 MB ditransfer | 109 richieste
3,0 MB
1,1 MB ditransfer |
| Chromium, minified, hot cache | 45 permintaan
2,2 MB
5,7 KB ditransfer | 129 permintaan
4,7 MB
4,7 KB ditransfer |
Intinya adalah:
Ini adalah temuan saya juga, saya juga meluangkan waktu untuk meneliti alat profil kinerja kecepatan pemuatan halaman (di luar alat pengembang) dan memutuskan bahwa jika alat pengembang tidak memberi saya penyimpangan yang signifikan dari rata-rata maka hasilnya cukup cocok untuk aplikasi kita.
Penurunan ukuran transfer total jelas merupakan hal yang baik, tetapi overhead permintaan http dapat menjadi mahal karena latensi. Kita dapat menggabungkan ini tetapi perlu diingat bahwa ketika kita menulis ulang front end (yang terasa tidak terhindarkan karena semua inline JS yang pada akhirnya perlu digeser) maka ini adalah area yang harus kita perbaiki.
Semua hal mengatakan, Etherpad sangat bagus dibandingkan dengan kebanyakan orang lain di bidang htis, kecuali Google Docs yang merupakan standar emas untuk "waktu untuk mengedit" yang sangat cepat dan sangat cepat yang di dunia ini adalah raja, bukan akhir dari 'pemuatan' halaman.
Jadi TLDR; Gabungkan @muxator - utas ini ada sebagai sumber daya bagi mereka yang ingin mengoptimalkan instans Etherpad BUKAN di subfolder.
kerja bagus !
+1 tnx!
: +1:
Komentar yang paling membantu
Punya masalah yang sama persis.
Saya menggunakan proxy terbalik dan instance Etherpad ada di subdirektori (/ etherpad). Saya berhasil membuatnya dengan benar menambahkan yang berikut ini ke konfigurasi apache saya.
Saya tidak mengubah apa pun di settings.json.